<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE Trustworthy #-}</span><span>
</span><span id="line-2"></span><span class="hs-pragma">{-# LANGUAGE CPP, NoImplicitPrelude #-}</span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-5"></span><span class="hs-comment">-- |</span><span>
</span><span id="line-6"></span><span class="hs-comment">-- Module      :  Foreign.C.Error</span><span>
</span><span id="line-7"></span><span class="hs-comment">-- Copyright   :  (c) The FFI task force 2001</span><span>
</span><span id="line-8"></span><span class="hs-comment">-- License     :  BSD-style (see the file libraries/base/LICENSE)</span><span>
</span><span id="line-9"></span><span class="hs-comment">--</span><span>
</span><span id="line-10"></span><span class="hs-comment">-- Maintainer  :  ffi@haskell.org</span><span>
</span><span id="line-11"></span><span class="hs-comment">-- Stability   :  provisional</span><span>
</span><span id="line-12"></span><span class="hs-comment">-- Portability :  portable</span><span>
</span><span id="line-13"></span><span class="hs-comment">--</span><span>
</span><span id="line-14"></span><span class="hs-comment">-- C-specific Marshalling support: Handling of C \&quot;errno\&quot; error codes.</span><span>
</span><span id="line-15"></span><span class="hs-comment">--</span><span>
</span><span id="line-16"></span><span class="hs-comment">-----------------------------------------------------------------------------</span><span>
</span><span id="line-17"></span><span>
</span><span id="line-18"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">Foreign.C.Error</span><span> </span><span class="hs-special">(</span><span>
</span><span id="line-19"></span><span>
</span><span id="line-20"></span><span>  </span><span class="annot"><span class="hs-comment">-- * Haskell representations of @errno@ values</span></span><span>
</span><span id="line-21"></span><span>
</span><span id="line-22"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier">Errno</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-23"></span><span>
</span><span id="line-24"></span><span>  </span><span class="annot"><span class="hs-comment">-- ** Common @errno@ symbols</span></span><span>
</span><span id="line-25"></span><span>  </span><span class="hs-comment">-- | Different operating systems and\/or C libraries often support</span><span>
</span><span id="line-26"></span><span>  </span><span class="hs-comment">-- different values of @errno@.  This module defines the common values,</span><span>
</span><span id="line-27"></span><span>  </span><span class="hs-comment">-- but due to the open definition of 'Errno' users may add definitions</span><span>
</span><span id="line-28"></span><span>  </span><span class="hs-comment">-- which are not predefined.</span><span>
</span><span id="line-29"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eOK"><span class="hs-identifier">eOK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#e2BIG"><span class="hs-identifier">e2BIG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eACCES"><span class="hs-identifier">eACCES</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eADDRINUSE"><span class="hs-identifier">eADDRINUSE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eADDRNOTAVAIL"><span class="hs-identifier">eADDRNOTAVAIL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eADV"><span class="hs-identifier">eADV</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eAFNOSUPPORT"><span class="hs-identifier">eAFNOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eAGAIN"><span class="hs-identifier">eAGAIN</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-30"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eALREADY"><span class="hs-identifier">eALREADY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBADF"><span class="hs-identifier">eBADF</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBADMSG"><span class="hs-identifier">eBADMSG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBADRPC"><span class="hs-identifier">eBADRPC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBUSY"><span class="hs-identifier">eBUSY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCHILD"><span class="hs-identifier">eCHILD</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCOMM"><span class="hs-identifier">eCOMM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCONNABORTED"><span class="hs-identifier">eCONNABORTED</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-31"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eCONNREFUSED"><span class="hs-identifier">eCONNREFUSED</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCONNRESET"><span class="hs-identifier">eCONNRESET</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDEADLK"><span class="hs-identifier">eDEADLK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDESTADDRREQ"><span class="hs-identifier">eDESTADDRREQ</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDIRTY"><span class="hs-identifier">eDIRTY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDOM"><span class="hs-identifier">eDOM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDQUOT"><span class="hs-identifier">eDQUOT</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-32"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eEXIST"><span class="hs-identifier">eEXIST</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eFAULT"><span class="hs-identifier">eFAULT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eFBIG"><span class="hs-identifier">eFBIG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eFTYPE"><span class="hs-identifier">eFTYPE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eHOSTDOWN"><span class="hs-identifier">eHOSTDOWN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eHOSTUNREACH"><span class="hs-identifier">eHOSTUNREACH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eIDRM"><span class="hs-identifier">eIDRM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eILSEQ"><span class="hs-identifier">eILSEQ</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-33"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eINPROGRESS"><span class="hs-identifier">eINPROGRESS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eINTR"><span class="hs-identifier">eINTR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eINVAL"><span class="hs-identifier">eINVAL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eIO"><span class="hs-identifier">eIO</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eISCONN"><span class="hs-identifier">eISCONN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eISDIR"><span class="hs-identifier">eISDIR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eLOOP"><span class="hs-identifier">eLOOP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eMFILE"><span class="hs-identifier">eMFILE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eMLINK"><span class="hs-identifier">eMLINK</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-34"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eMSGSIZE"><span class="hs-identifier">eMSGSIZE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eMULTIHOP"><span class="hs-identifier">eMULTIHOP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNAMETOOLONG"><span class="hs-identifier">eNAMETOOLONG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNETDOWN"><span class="hs-identifier">eNETDOWN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNETRESET"><span class="hs-identifier">eNETRESET</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNETUNREACH"><span class="hs-identifier">eNETUNREACH</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-35"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eNFILE"><span class="hs-identifier">eNFILE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOBUFS"><span class="hs-identifier">eNOBUFS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNODATA"><span class="hs-identifier">eNODATA</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNODEV"><span class="hs-identifier">eNODEV</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOENT"><span class="hs-identifier">eNOENT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOEXEC"><span class="hs-identifier">eNOEXEC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOLCK"><span class="hs-identifier">eNOLCK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOLINK"><span class="hs-identifier">eNOLINK</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-36"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eNOMEM"><span class="hs-identifier">eNOMEM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOMSG"><span class="hs-identifier">eNOMSG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNONET"><span class="hs-identifier">eNONET</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOPROTOOPT"><span class="hs-identifier">eNOPROTOOPT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSPC"><span class="hs-identifier">eNOSPC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSR"><span class="hs-identifier">eNOSR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSTR"><span class="hs-identifier">eNOSTR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSYS"><span class="hs-identifier">eNOSYS</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-37"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eNOTBLK"><span class="hs-identifier">eNOTBLK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTCONN"><span class="hs-identifier">eNOTCONN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTDIR"><span class="hs-identifier">eNOTDIR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTEMPTY"><span class="hs-identifier">eNOTEMPTY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTSOCK"><span class="hs-identifier">eNOTSOCK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTSUP"><span class="hs-identifier">eNOTSUP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTTY"><span class="hs-identifier">eNOTTY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNXIO"><span class="hs-identifier">eNXIO</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-38"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eOPNOTSUPP"><span class="hs-identifier">eOPNOTSUPP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePERM"><span class="hs-identifier">ePERM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePFNOSUPPORT"><span class="hs-identifier">ePFNOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePIPE"><span class="hs-identifier">ePIPE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROCLIM"><span class="hs-identifier">ePROCLIM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROCUNAVAIL"><span class="hs-identifier">ePROCUNAVAIL</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-39"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#ePROGMISMATCH"><span class="hs-identifier">ePROGMISMATCH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROGUNAVAIL"><span class="hs-identifier">ePROGUNAVAIL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROTO"><span class="hs-identifier">ePROTO</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROTONOSUPPORT"><span class="hs-identifier">ePROTONOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROTOTYPE"><span class="hs-identifier">ePROTOTYPE</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-40"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eRANGE"><span class="hs-identifier">eRANGE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eREMCHG"><span class="hs-identifier">eREMCHG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eREMOTE"><span class="hs-identifier">eREMOTE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eROFS"><span class="hs-identifier">eROFS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eRPCMISMATCH"><span class="hs-identifier">eRPCMISMATCH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eRREMOTE"><span class="hs-identifier">eRREMOTE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSHUTDOWN"><span class="hs-identifier">eSHUTDOWN</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-41"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eSOCKTNOSUPPORT"><span class="hs-identifier">eSOCKTNOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSPIPE"><span class="hs-identifier">eSPIPE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSRCH"><span class="hs-identifier">eSRCH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSRMNT"><span class="hs-identifier">eSRMNT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSTALE"><span class="hs-identifier">eSTALE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eTIME"><span class="hs-identifier">eTIME</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eTIMEDOUT"><span class="hs-identifier">eTIMEDOUT</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-42"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eTOOMANYREFS"><span class="hs-identifier">eTOOMANYREFS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eTXTBSY"><span class="hs-identifier">eTXTBSY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eUSERS"><span class="hs-identifier">eUSERS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eWOULDBLOCK"><span class="hs-identifier">eWOULDBLOCK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eXDEV"><span class="hs-identifier">eXDEV</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-43"></span><span>
</span><span id="line-44"></span><span>  </span><span class="annot"><span class="hs-comment">-- ** 'Errno' functions</span></span><span>
</span><span id="line-45"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#isValidErrno"><span class="hs-identifier">isValidErrno</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-46"></span><span>
</span><span id="line-47"></span><span>  </span><span class="hs-comment">-- access to the current thread's &quot;errno&quot; value</span><span>
</span><span id="line-48"></span><span>  </span><span class="hs-comment">--</span><span>
</span><span id="line-49"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier">getErrno</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-50"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#resetErrno"><span class="hs-identifier">resetErrno</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-51"></span><span>
</span><span id="line-52"></span><span>  </span><span class="hs-comment">-- conversion of an &quot;errno&quot; value into IO error</span><span>
</span><span id="line-53"></span><span>  </span><span class="hs-comment">--</span><span>
</span><span id="line-54"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#errnoToIOError"><span class="hs-identifier">errnoToIOError</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-55"></span><span>
</span><span id="line-56"></span><span>  </span><span class="hs-comment">-- throw current &quot;errno&quot; value</span><span>
</span><span id="line-57"></span><span>  </span><span class="hs-comment">--</span><span>
</span><span id="line-58"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrno"><span class="hs-identifier">throwErrno</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-59"></span><span>
</span><span id="line-60"></span><span>  </span><span class="annot"><span class="hs-comment">-- ** Guards for IO operations that may fail</span></span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIf"><span class="hs-identifier">throwErrnoIf</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-63"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIf_"><span class="hs-identifier">throwErrnoIf_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-64"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier">throwErrnoIfRetry</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-65"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetry_"><span class="hs-identifier">throwErrnoIfRetry_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-66"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1"><span class="hs-identifier">throwErrnoIfMinus1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-67"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1_"><span class="hs-identifier">throwErrnoIfMinus1_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-68"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1Retry"><span class="hs-identifier">throwErrnoIfMinus1Retry</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-69"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1Retry_"><span class="hs-identifier">throwErrnoIfMinus1Retry_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-70"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfNull"><span class="hs-identifier">throwErrnoIfNull</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-71"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfNullRetry"><span class="hs-identifier">throwErrnoIfNullRetry</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-72"></span><span>
</span><span id="line-73"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier">throwErrnoIfRetryMayBlock</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-74"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock_"><span class="hs-identifier">throwErrnoIfRetryMayBlock_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-75"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1RetryMayBlock"><span class="hs-identifier">throwErrnoIfMinus1RetryMayBlock</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-76"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1RetryMayBlock_"><span class="hs-identifier">throwErrnoIfMinus1RetryMayBlock_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-77"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfNullRetryMayBlock"><span class="hs-identifier">throwErrnoIfNullRetryMayBlock</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-78"></span><span>
</span><span id="line-79"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPath"><span class="hs-identifier">throwErrnoPath</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-80"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIf"><span class="hs-identifier">throwErrnoPathIf</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-81"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIf_"><span class="hs-identifier">throwErrnoPathIf_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-82"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIfNull"><span class="hs-identifier">throwErrnoPathIfNull</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-83"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIfMinus1"><span class="hs-identifier">throwErrnoPathIfMinus1</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-84"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIfMinus1_"><span class="hs-identifier">throwErrnoPathIfMinus1_</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-85"></span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-86"></span><span>
</span><span id="line-87"></span><span>
</span><span id="line-88"></span><span class="hs-comment">-- this is were we get the CONST_XXX definitions from that configure</span><span>
</span><span id="line-89"></span><span class="hs-comment">-- calculated for us</span><span>
</span><span id="line-90"></span><span class="hs-comment">--</span><span class="hs-cpp">
#include &quot;HsBaseConfig.h&quot;
</span><span>
</span><span id="line-93"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Foreign.Ptr.html"><span class="hs-identifier">Foreign.Ptr</span></a></span><span>
</span><span id="line-94"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Foreign.C.Types.html"><span class="hs-identifier">Foreign.C.Types</span></a></span><span>
</span><span id="line-95"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Foreign.C.String.html"><span class="hs-identifier">Foreign.C.String</span></a></span><span>
</span><span id="line-96"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Functor.html"><span class="hs-identifier">Data.Functor</span></a></span><span>            </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="Data.Functor.html#void"><span class="hs-identifier">void</span></a></span><span> </span><span class="hs-special">)</span><span>
</span><span id="line-97"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Data.Maybe.html"><span class="hs-identifier">Data.Maybe</span></a></span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.IO.html"><span class="hs-identifier">GHC.IO</span></a></span><span>
</span><span id="line-100"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.IO.Exception.html"><span class="hs-identifier">GHC.IO.Exception</span></a></span><span>
</span><span id="line-101"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.IO.Handle.Types.html"><span class="hs-identifier">GHC.IO.Handle.Types</span></a></span><span>
</span><span id="line-102"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Num.html"><span class="hs-identifier">GHC.Num</span></a></span><span>
</span><span id="line-103"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Base.html"><span class="hs-identifier">GHC.Base</span></a></span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span class="hs-comment">-- &quot;errno&quot; type</span><span>
</span><span id="line-106"></span><span class="hs-comment">-- ------------</span><span>
</span><span id="line-107"></span><span>
</span><span id="line-108"></span><span class="hs-comment">-- | Haskell representation for @errno@ values.</span><span>
</span><span id="line-109"></span><span class="hs-comment">-- The implementation is deliberately exposed, to allow users to add</span><span>
</span><span id="line-110"></span><span class="hs-comment">-- their own definitions of 'Errno' values.</span><span>
</span><span id="line-111"></span><span>
</span><span id="line-112"></span><span class="hs-keyword">newtype</span><span> </span><span id="Errno"><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="Errno"><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span></span><span> </span><span class="annot"><a href="Foreign.C.Types.html#CInt"><span class="hs-identifier hs-type">CInt</span></a></span><span>
</span><span id="line-113"></span><span>
</span><span id="line-114"></span><span class="hs-comment">-- | @since 2.01</span><span>
</span><span id="line-115"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621679543938"><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-116"></span><span>  </span><span id="local-6989586621679543935"><span class="annot"><span class="annottext">errno1 :: Errno
</span><a href="#local-6989586621679543935"><span class="hs-identifier hs-var">errno1</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span> </span><span id="local-6989586621679543934"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543934"><span class="hs-identifier hs-var">no1</span></a></span></span><span class="hs-special">)</span><span> </span><span id="local-6989586621679543933"><span class="annot"><span class="annottext">== :: Errno -&gt; Errno -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var hs-var hs-var hs-var">==</span></a></span></span><span> </span><span id="local-6989586621679543932"><span class="annot"><span class="annottext">errno2 :: Errno
</span><a href="#local-6989586621679543932"><span class="hs-identifier hs-var">errno2</span></a></span></span><span class="hs-glyph">@</span><span class="hs-special">(</span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span> </span><span id="local-6989586621679543931"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543931"><span class="hs-identifier hs-var">no2</span></a></span></span><span class="hs-special">)</span><span>
</span><span id="line-117"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Bool
</span><a href="Foreign.C.Error.html#isValidErrno"><span class="hs-identifier hs-var">isValidErrno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543935"><span class="hs-identifier hs-var">errno1</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%26%26"><span class="hs-operator hs-var">&amp;&amp;</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Bool
</span><a href="Foreign.C.Error.html#isValidErrno"><span class="hs-identifier hs-var">isValidErrno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543932"><span class="hs-identifier hs-var">errno2</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543934"><span class="hs-identifier hs-var">no1</span></a></span><span> </span><span class="annot"><span class="annottext">CInt -&gt; CInt -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543931"><span class="hs-identifier hs-var">no2</span></a></span><span>
</span><span id="line-118"></span><span>    </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                                  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../ghc-prim/src/GHC.Types.html#False"><span class="hs-identifier hs-var">False</span></a></span><span>
</span><span id="line-119"></span><span>
</span><span id="line-120"></span><span class="hs-comment">-- common &quot;errno&quot; symbols</span><span>
</span><span id="line-121"></span><span class="hs-comment">--</span><span>
</span><span id="line-122"></span><span class="annot"><a href="Foreign.C.Error.html#eOK"><span class="hs-identifier hs-type">eOK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#e2BIG"><span class="hs-identifier hs-type">e2BIG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eACCES"><span class="hs-identifier hs-type">eACCES</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eADDRINUSE"><span class="hs-identifier hs-type">eADDRINUSE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eADDRNOTAVAIL"><span class="hs-identifier hs-type">eADDRNOTAVAIL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eADV"><span class="hs-identifier hs-type">eADV</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eAFNOSUPPORT"><span class="hs-identifier hs-type">eAFNOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eAGAIN"><span class="hs-identifier hs-type">eAGAIN</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-123"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eALREADY"><span class="hs-identifier hs-type">eALREADY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBADF"><span class="hs-identifier hs-type">eBADF</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBADMSG"><span class="hs-identifier hs-type">eBADMSG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBADRPC"><span class="hs-identifier hs-type">eBADRPC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eBUSY"><span class="hs-identifier hs-type">eBUSY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCHILD"><span class="hs-identifier hs-type">eCHILD</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCOMM"><span class="hs-identifier hs-type">eCOMM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCONNABORTED"><span class="hs-identifier hs-type">eCONNABORTED</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-124"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eCONNREFUSED"><span class="hs-identifier hs-type">eCONNREFUSED</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eCONNRESET"><span class="hs-identifier hs-type">eCONNRESET</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDEADLK"><span class="hs-identifier hs-type">eDEADLK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDESTADDRREQ"><span class="hs-identifier hs-type">eDESTADDRREQ</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDIRTY"><span class="hs-identifier hs-type">eDIRTY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDOM"><span class="hs-identifier hs-type">eDOM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eDQUOT"><span class="hs-identifier hs-type">eDQUOT</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-125"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eEXIST"><span class="hs-identifier hs-type">eEXIST</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eFAULT"><span class="hs-identifier hs-type">eFAULT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eFBIG"><span class="hs-identifier hs-type">eFBIG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eFTYPE"><span class="hs-identifier hs-type">eFTYPE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eHOSTDOWN"><span class="hs-identifier hs-type">eHOSTDOWN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eHOSTUNREACH"><span class="hs-identifier hs-type">eHOSTUNREACH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eIDRM"><span class="hs-identifier hs-type">eIDRM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eILSEQ"><span class="hs-identifier hs-type">eILSEQ</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-126"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eINPROGRESS"><span class="hs-identifier hs-type">eINPROGRESS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eINTR"><span class="hs-identifier hs-type">eINTR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eINVAL"><span class="hs-identifier hs-type">eINVAL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eIO"><span class="hs-identifier hs-type">eIO</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eISCONN"><span class="hs-identifier hs-type">eISCONN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eISDIR"><span class="hs-identifier hs-type">eISDIR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eLOOP"><span class="hs-identifier hs-type">eLOOP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eMFILE"><span class="hs-identifier hs-type">eMFILE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eMLINK"><span class="hs-identifier hs-type">eMLINK</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-127"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eMSGSIZE"><span class="hs-identifier hs-type">eMSGSIZE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eMULTIHOP"><span class="hs-identifier hs-type">eMULTIHOP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNAMETOOLONG"><span class="hs-identifier hs-type">eNAMETOOLONG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNETDOWN"><span class="hs-identifier hs-type">eNETDOWN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNETRESET"><span class="hs-identifier hs-type">eNETRESET</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNETUNREACH"><span class="hs-identifier hs-type">eNETUNREACH</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-128"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eNFILE"><span class="hs-identifier hs-type">eNFILE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOBUFS"><span class="hs-identifier hs-type">eNOBUFS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNODATA"><span class="hs-identifier hs-type">eNODATA</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNODEV"><span class="hs-identifier hs-type">eNODEV</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOENT"><span class="hs-identifier hs-type">eNOENT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOEXEC"><span class="hs-identifier hs-type">eNOEXEC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOLCK"><span class="hs-identifier hs-type">eNOLCK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOLINK"><span class="hs-identifier hs-type">eNOLINK</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-129"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eNOMEM"><span class="hs-identifier hs-type">eNOMEM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOMSG"><span class="hs-identifier hs-type">eNOMSG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNONET"><span class="hs-identifier hs-type">eNONET</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOPROTOOPT"><span class="hs-identifier hs-type">eNOPROTOOPT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSPC"><span class="hs-identifier hs-type">eNOSPC</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSR"><span class="hs-identifier hs-type">eNOSR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSTR"><span class="hs-identifier hs-type">eNOSTR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOSYS"><span class="hs-identifier hs-type">eNOSYS</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-130"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eNOTBLK"><span class="hs-identifier hs-type">eNOTBLK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTCONN"><span class="hs-identifier hs-type">eNOTCONN</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTDIR"><span class="hs-identifier hs-type">eNOTDIR</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTEMPTY"><span class="hs-identifier hs-type">eNOTEMPTY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTSOCK"><span class="hs-identifier hs-type">eNOTSOCK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTSUP"><span class="hs-identifier hs-type">eNOTSUP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNOTTY"><span class="hs-identifier hs-type">eNOTTY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eNXIO"><span class="hs-identifier hs-type">eNXIO</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-131"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eOPNOTSUPP"><span class="hs-identifier hs-type">eOPNOTSUPP</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePERM"><span class="hs-identifier hs-type">ePERM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePFNOSUPPORT"><span class="hs-identifier hs-type">ePFNOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePIPE"><span class="hs-identifier hs-type">ePIPE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROCLIM"><span class="hs-identifier hs-type">ePROCLIM</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROCUNAVAIL"><span class="hs-identifier hs-type">ePROCUNAVAIL</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-132"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#ePROGMISMATCH"><span class="hs-identifier hs-type">ePROGMISMATCH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROGUNAVAIL"><span class="hs-identifier hs-type">ePROGUNAVAIL</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROTO"><span class="hs-identifier hs-type">ePROTO</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROTONOSUPPORT"><span class="hs-identifier hs-type">ePROTONOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#ePROTOTYPE"><span class="hs-identifier hs-type">ePROTOTYPE</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-133"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eRANGE"><span class="hs-identifier hs-type">eRANGE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eREMCHG"><span class="hs-identifier hs-type">eREMCHG</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eREMOTE"><span class="hs-identifier hs-type">eREMOTE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eROFS"><span class="hs-identifier hs-type">eROFS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eRPCMISMATCH"><span class="hs-identifier hs-type">eRPCMISMATCH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eRREMOTE"><span class="hs-identifier hs-type">eRREMOTE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSHUTDOWN"><span class="hs-identifier hs-type">eSHUTDOWN</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-134"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eSOCKTNOSUPPORT"><span class="hs-identifier hs-type">eSOCKTNOSUPPORT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSPIPE"><span class="hs-identifier hs-type">eSPIPE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSRCH"><span class="hs-identifier hs-type">eSRCH</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSRMNT"><span class="hs-identifier hs-type">eSRMNT</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eSTALE"><span class="hs-identifier hs-type">eSTALE</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eTIME"><span class="hs-identifier hs-type">eTIME</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eTIMEDOUT"><span class="hs-identifier hs-type">eTIMEDOUT</span></a></span><span class="hs-special">,</span><span>
</span><span id="line-135"></span><span>  </span><span class="annot"><a href="Foreign.C.Error.html#eTOOMANYREFS"><span class="hs-identifier hs-type">eTOOMANYREFS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eTXTBSY"><span class="hs-identifier hs-type">eTXTBSY</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eUSERS"><span class="hs-identifier hs-type">eUSERS</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eWOULDBLOCK"><span class="hs-identifier hs-type">eWOULDBLOCK</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#eXDEV"><span class="hs-identifier hs-type">eXDEV</span></a></span><span>                    </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span>
</span><span id="line-136"></span><span class="hs-comment">--</span><span>
</span><span id="line-137"></span><span class="hs-comment">-- the cCONST_XXX identifiers are cpp symbols whose value is computed by</span><span>
</span><span id="line-138"></span><span class="hs-comment">-- configure</span><span>
</span><span id="line-139"></span><span class="hs-comment">--</span><span>
</span><span id="line-140"></span><span id="eOK"><span class="annot"><span class="annottext">eOK :: Errno
</span><a href="Foreign.C.Error.html#eOK"><span class="hs-identifier hs-var hs-var">eOK</span></a></span></span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><span class="hs-number">0</span></span><span>
</span><span id="line-141"></span><span id="e2BIG"><span class="annot"><span class="annottext">e2BIG :: Errno
</span><a href="Foreign.C.Error.html#e2BIG"><span class="hs-identifier hs-var hs-var">e2BIG</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_E2BIG</span><span class="hs-special">)</span><span>
</span><span id="line-142"></span><span id="eACCES"><span class="annot"><span class="annottext">eACCES :: Errno
</span><a href="Foreign.C.Error.html#eACCES"><span class="hs-identifier hs-var hs-var">eACCES</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EACCES</span><span class="hs-special">)</span><span>
</span><span id="line-143"></span><span id="eADDRINUSE"><span class="annot"><span class="annottext">eADDRINUSE :: Errno
</span><a href="Foreign.C.Error.html#eADDRINUSE"><span class="hs-identifier hs-var hs-var">eADDRINUSE</span></a></span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EADDRINUSE</span><span class="hs-special">)</span><span>
</span><span id="line-144"></span><span id="eADDRNOTAVAIL"><span class="annot"><span class="annottext">eADDRNOTAVAIL :: Errno
</span><a href="Foreign.C.Error.html#eADDRNOTAVAIL"><span class="hs-identifier hs-var hs-var">eADDRNOTAVAIL</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EADDRNOTAVAIL</span><span class="hs-special">)</span><span>
</span><span id="line-145"></span><span id="eADV"><span class="annot"><span class="annottext">eADV :: Errno
</span><a href="Foreign.C.Error.html#eADV"><span class="hs-identifier hs-var hs-var">eADV</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EADV</span><span class="hs-special">)</span><span>
</span><span id="line-146"></span><span id="eAFNOSUPPORT"><span class="annot"><span class="annottext">eAFNOSUPPORT :: Errno
</span><a href="Foreign.C.Error.html#eAFNOSUPPORT"><span class="hs-identifier hs-var hs-var">eAFNOSUPPORT</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EAFNOSUPPORT</span><span class="hs-special">)</span><span>
</span><span id="line-147"></span><span id="eAGAIN"><span class="annot"><span class="annottext">eAGAIN :: Errno
</span><a href="Foreign.C.Error.html#eAGAIN"><span class="hs-identifier hs-var hs-var">eAGAIN</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EAGAIN</span><span class="hs-special">)</span><span>
</span><span id="line-148"></span><span id="eALREADY"><span class="annot"><span class="annottext">eALREADY :: Errno
</span><a href="Foreign.C.Error.html#eALREADY"><span class="hs-identifier hs-var hs-var">eALREADY</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EALREADY</span><span class="hs-special">)</span><span>
</span><span id="line-149"></span><span id="eBADF"><span class="annot"><span class="annottext">eBADF :: Errno
</span><a href="Foreign.C.Error.html#eBADF"><span class="hs-identifier hs-var hs-var">eBADF</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EBADF</span><span class="hs-special">)</span><span>
</span><span id="line-150"></span><span id="eBADMSG"><span class="annot"><span class="annottext">eBADMSG :: Errno
</span><a href="Foreign.C.Error.html#eBADMSG"><span class="hs-identifier hs-var hs-var">eBADMSG</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EBADMSG</span><span class="hs-special">)</span><span>
</span><span id="line-151"></span><span id="eBADRPC"><span class="annot"><span class="annottext">eBADRPC :: Errno
</span><a href="Foreign.C.Error.html#eBADRPC"><span class="hs-identifier hs-var hs-var">eBADRPC</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EBADRPC</span><span class="hs-special">)</span><span>
</span><span id="line-152"></span><span id="eBUSY"><span class="annot"><span class="annottext">eBUSY :: Errno
</span><a href="Foreign.C.Error.html#eBUSY"><span class="hs-identifier hs-var hs-var">eBUSY</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EBUSY</span><span class="hs-special">)</span><span>
</span><span id="line-153"></span><span id="eCHILD"><span class="annot"><span class="annottext">eCHILD :: Errno
</span><a href="Foreign.C.Error.html#eCHILD"><span class="hs-identifier hs-var hs-var">eCHILD</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ECHILD</span><span class="hs-special">)</span><span>
</span><span id="line-154"></span><span id="eCOMM"><span class="annot"><span class="annottext">eCOMM :: Errno
</span><a href="Foreign.C.Error.html#eCOMM"><span class="hs-identifier hs-var hs-var">eCOMM</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ECOMM</span><span class="hs-special">)</span><span>
</span><span id="line-155"></span><span id="eCONNABORTED"><span class="annot"><span class="annottext">eCONNABORTED :: Errno
</span><a href="Foreign.C.Error.html#eCONNABORTED"><span class="hs-identifier hs-var hs-var">eCONNABORTED</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ECONNABORTED</span><span class="hs-special">)</span><span>
</span><span id="line-156"></span><span id="eCONNREFUSED"><span class="annot"><span class="annottext">eCONNREFUSED :: Errno
</span><a href="Foreign.C.Error.html#eCONNREFUSED"><span class="hs-identifier hs-var hs-var">eCONNREFUSED</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ECONNREFUSED</span><span class="hs-special">)</span><span>
</span><span id="line-157"></span><span id="eCONNRESET"><span class="annot"><span class="annottext">eCONNRESET :: Errno
</span><a href="Foreign.C.Error.html#eCONNRESET"><span class="hs-identifier hs-var hs-var">eCONNRESET</span></a></span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ECONNRESET</span><span class="hs-special">)</span><span>
</span><span id="line-158"></span><span id="eDEADLK"><span class="annot"><span class="annottext">eDEADLK :: Errno
</span><a href="Foreign.C.Error.html#eDEADLK"><span class="hs-identifier hs-var hs-var">eDEADLK</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EDEADLK</span><span class="hs-special">)</span><span>
</span><span id="line-159"></span><span id="eDESTADDRREQ"><span class="annot"><span class="annottext">eDESTADDRREQ :: Errno
</span><a href="Foreign.C.Error.html#eDESTADDRREQ"><span class="hs-identifier hs-var hs-var">eDESTADDRREQ</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EDESTADDRREQ</span><span class="hs-special">)</span><span>
</span><span id="line-160"></span><span id="eDIRTY"><span class="annot"><span class="annottext">eDIRTY :: Errno
</span><a href="Foreign.C.Error.html#eDIRTY"><span class="hs-identifier hs-var hs-var">eDIRTY</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EDIRTY</span><span class="hs-special">)</span><span>
</span><span id="line-161"></span><span id="eDOM"><span class="annot"><span class="annottext">eDOM :: Errno
</span><a href="Foreign.C.Error.html#eDOM"><span class="hs-identifier hs-var hs-var">eDOM</span></a></span></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EDOM</span><span class="hs-special">)</span><span>
</span><span id="line-162"></span><span id="eDQUOT"><span class="annot"><span class="annottext">eDQUOT :: Errno
</span><a href="Foreign.C.Error.html#eDQUOT"><span class="hs-identifier hs-var hs-var">eDQUOT</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EDQUOT</span><span class="hs-special">)</span><span>
</span><span id="line-163"></span><span id="eEXIST"><span class="annot"><span class="annottext">eEXIST :: Errno
</span><a href="Foreign.C.Error.html#eEXIST"><span class="hs-identifier hs-var hs-var">eEXIST</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EEXIST</span><span class="hs-special">)</span><span>
</span><span id="line-164"></span><span id="eFAULT"><span class="annot"><span class="annottext">eFAULT :: Errno
</span><a href="Foreign.C.Error.html#eFAULT"><span class="hs-identifier hs-var hs-var">eFAULT</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EFAULT</span><span class="hs-special">)</span><span>
</span><span id="line-165"></span><span id="eFBIG"><span class="annot"><span class="annottext">eFBIG :: Errno
</span><a href="Foreign.C.Error.html#eFBIG"><span class="hs-identifier hs-var hs-var">eFBIG</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EFBIG</span><span class="hs-special">)</span><span>
</span><span id="line-166"></span><span id="eFTYPE"><span class="annot"><span class="annottext">eFTYPE :: Errno
</span><a href="Foreign.C.Error.html#eFTYPE"><span class="hs-identifier hs-var hs-var">eFTYPE</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EFTYPE</span><span class="hs-special">)</span><span>
</span><span id="line-167"></span><span id="eHOSTDOWN"><span class="annot"><span class="annottext">eHOSTDOWN :: Errno
</span><a href="Foreign.C.Error.html#eHOSTDOWN"><span class="hs-identifier hs-var hs-var">eHOSTDOWN</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EHOSTDOWN</span><span class="hs-special">)</span><span>
</span><span id="line-168"></span><span id="eHOSTUNREACH"><span class="annot"><span class="annottext">eHOSTUNREACH :: Errno
</span><a href="Foreign.C.Error.html#eHOSTUNREACH"><span class="hs-identifier hs-var hs-var">eHOSTUNREACH</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EHOSTUNREACH</span><span class="hs-special">)</span><span>
</span><span id="line-169"></span><span id="eIDRM"><span class="annot"><span class="annottext">eIDRM :: Errno
</span><a href="Foreign.C.Error.html#eIDRM"><span class="hs-identifier hs-var hs-var">eIDRM</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EIDRM</span><span class="hs-special">)</span><span>
</span><span id="line-170"></span><span id="eILSEQ"><span class="annot"><span class="annottext">eILSEQ :: Errno
</span><a href="Foreign.C.Error.html#eILSEQ"><span class="hs-identifier hs-var hs-var">eILSEQ</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EILSEQ</span><span class="hs-special">)</span><span>
</span><span id="line-171"></span><span id="eINPROGRESS"><span class="annot"><span class="annottext">eINPROGRESS :: Errno
</span><a href="Foreign.C.Error.html#eINPROGRESS"><span class="hs-identifier hs-var hs-var">eINPROGRESS</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EINPROGRESS</span><span class="hs-special">)</span><span>
</span><span id="line-172"></span><span id="eINTR"><span class="annot"><span class="annottext">eINTR :: Errno
</span><a href="Foreign.C.Error.html#eINTR"><span class="hs-identifier hs-var hs-var">eINTR</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EINTR</span><span class="hs-special">)</span><span>
</span><span id="line-173"></span><span id="eINVAL"><span class="annot"><span class="annottext">eINVAL :: Errno
</span><a href="Foreign.C.Error.html#eINVAL"><span class="hs-identifier hs-var hs-var">eINVAL</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EINVAL</span><span class="hs-special">)</span><span>
</span><span id="line-174"></span><span id="eIO"><span class="annot"><span class="annottext">eIO :: Errno
</span><a href="Foreign.C.Error.html#eIO"><span class="hs-identifier hs-var hs-var">eIO</span></a></span></span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EIO</span><span class="hs-special">)</span><span>
</span><span id="line-175"></span><span id="eISCONN"><span class="annot"><span class="annottext">eISCONN :: Errno
</span><a href="Foreign.C.Error.html#eISCONN"><span class="hs-identifier hs-var hs-var">eISCONN</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EISCONN</span><span class="hs-special">)</span><span>
</span><span id="line-176"></span><span id="eISDIR"><span class="annot"><span class="annottext">eISDIR :: Errno
</span><a href="Foreign.C.Error.html#eISDIR"><span class="hs-identifier hs-var hs-var">eISDIR</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EISDIR</span><span class="hs-special">)</span><span>
</span><span id="line-177"></span><span id="eLOOP"><span class="annot"><span class="annottext">eLOOP :: Errno
</span><a href="Foreign.C.Error.html#eLOOP"><span class="hs-identifier hs-var hs-var">eLOOP</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ELOOP</span><span class="hs-special">)</span><span>
</span><span id="line-178"></span><span id="eMFILE"><span class="annot"><span class="annottext">eMFILE :: Errno
</span><a href="Foreign.C.Error.html#eMFILE"><span class="hs-identifier hs-var hs-var">eMFILE</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EMFILE</span><span class="hs-special">)</span><span>
</span><span id="line-179"></span><span id="eMLINK"><span class="annot"><span class="annottext">eMLINK :: Errno
</span><a href="Foreign.C.Error.html#eMLINK"><span class="hs-identifier hs-var hs-var">eMLINK</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EMLINK</span><span class="hs-special">)</span><span>
</span><span id="line-180"></span><span id="eMSGSIZE"><span class="annot"><span class="annottext">eMSGSIZE :: Errno
</span><a href="Foreign.C.Error.html#eMSGSIZE"><span class="hs-identifier hs-var hs-var">eMSGSIZE</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EMSGSIZE</span><span class="hs-special">)</span><span>
</span><span id="line-181"></span><span id="eMULTIHOP"><span class="annot"><span class="annottext">eMULTIHOP :: Errno
</span><a href="Foreign.C.Error.html#eMULTIHOP"><span class="hs-identifier hs-var hs-var">eMULTIHOP</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EMULTIHOP</span><span class="hs-special">)</span><span>
</span><span id="line-182"></span><span id="eNAMETOOLONG"><span class="annot"><span class="annottext">eNAMETOOLONG :: Errno
</span><a href="Foreign.C.Error.html#eNAMETOOLONG"><span class="hs-identifier hs-var hs-var">eNAMETOOLONG</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENAMETOOLONG</span><span class="hs-special">)</span><span>
</span><span id="line-183"></span><span id="eNETDOWN"><span class="annot"><span class="annottext">eNETDOWN :: Errno
</span><a href="Foreign.C.Error.html#eNETDOWN"><span class="hs-identifier hs-var hs-var">eNETDOWN</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENETDOWN</span><span class="hs-special">)</span><span>
</span><span id="line-184"></span><span id="eNETRESET"><span class="annot"><span class="annottext">eNETRESET :: Errno
</span><a href="Foreign.C.Error.html#eNETRESET"><span class="hs-identifier hs-var hs-var">eNETRESET</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENETRESET</span><span class="hs-special">)</span><span>
</span><span id="line-185"></span><span id="eNETUNREACH"><span class="annot"><span class="annottext">eNETUNREACH :: Errno
</span><a href="Foreign.C.Error.html#eNETUNREACH"><span class="hs-identifier hs-var hs-var">eNETUNREACH</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENETUNREACH</span><span class="hs-special">)</span><span>
</span><span id="line-186"></span><span id="eNFILE"><span class="annot"><span class="annottext">eNFILE :: Errno
</span><a href="Foreign.C.Error.html#eNFILE"><span class="hs-identifier hs-var hs-var">eNFILE</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENFILE</span><span class="hs-special">)</span><span>
</span><span id="line-187"></span><span id="eNOBUFS"><span class="annot"><span class="annottext">eNOBUFS :: Errno
</span><a href="Foreign.C.Error.html#eNOBUFS"><span class="hs-identifier hs-var hs-var">eNOBUFS</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOBUFS</span><span class="hs-special">)</span><span>
</span><span id="line-188"></span><span id="eNODATA"><span class="annot"><span class="annottext">eNODATA :: Errno
</span><a href="Foreign.C.Error.html#eNODATA"><span class="hs-identifier hs-var hs-var">eNODATA</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENODATA</span><span class="hs-special">)</span><span>
</span><span id="line-189"></span><span id="eNODEV"><span class="annot"><span class="annottext">eNODEV :: Errno
</span><a href="Foreign.C.Error.html#eNODEV"><span class="hs-identifier hs-var hs-var">eNODEV</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENODEV</span><span class="hs-special">)</span><span>
</span><span id="line-190"></span><span id="eNOENT"><span class="annot"><span class="annottext">eNOENT :: Errno
</span><a href="Foreign.C.Error.html#eNOENT"><span class="hs-identifier hs-var hs-var">eNOENT</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOENT</span><span class="hs-special">)</span><span>
</span><span id="line-191"></span><span id="eNOEXEC"><span class="annot"><span class="annottext">eNOEXEC :: Errno
</span><a href="Foreign.C.Error.html#eNOEXEC"><span class="hs-identifier hs-var hs-var">eNOEXEC</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOEXEC</span><span class="hs-special">)</span><span>
</span><span id="line-192"></span><span id="eNOLCK"><span class="annot"><span class="annottext">eNOLCK :: Errno
</span><a href="Foreign.C.Error.html#eNOLCK"><span class="hs-identifier hs-var hs-var">eNOLCK</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOLCK</span><span class="hs-special">)</span><span>
</span><span id="line-193"></span><span id="eNOLINK"><span class="annot"><span class="annottext">eNOLINK :: Errno
</span><a href="Foreign.C.Error.html#eNOLINK"><span class="hs-identifier hs-var hs-var">eNOLINK</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOLINK</span><span class="hs-special">)</span><span>
</span><span id="line-194"></span><span id="eNOMEM"><span class="annot"><span class="annottext">eNOMEM :: Errno
</span><a href="Foreign.C.Error.html#eNOMEM"><span class="hs-identifier hs-var hs-var">eNOMEM</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOMEM</span><span class="hs-special">)</span><span>
</span><span id="line-195"></span><span id="eNOMSG"><span class="annot"><span class="annottext">eNOMSG :: Errno
</span><a href="Foreign.C.Error.html#eNOMSG"><span class="hs-identifier hs-var hs-var">eNOMSG</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOMSG</span><span class="hs-special">)</span><span>
</span><span id="line-196"></span><span id="eNONET"><span class="annot"><span class="annottext">eNONET :: Errno
</span><a href="Foreign.C.Error.html#eNONET"><span class="hs-identifier hs-var hs-var">eNONET</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENONET</span><span class="hs-special">)</span><span>
</span><span id="line-197"></span><span id="eNOPROTOOPT"><span class="annot"><span class="annottext">eNOPROTOOPT :: Errno
</span><a href="Foreign.C.Error.html#eNOPROTOOPT"><span class="hs-identifier hs-var hs-var">eNOPROTOOPT</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOPROTOOPT</span><span class="hs-special">)</span><span>
</span><span id="line-198"></span><span id="eNOSPC"><span class="annot"><span class="annottext">eNOSPC :: Errno
</span><a href="Foreign.C.Error.html#eNOSPC"><span class="hs-identifier hs-var hs-var">eNOSPC</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOSPC</span><span class="hs-special">)</span><span>
</span><span id="line-199"></span><span id="eNOSR"><span class="annot"><span class="annottext">eNOSR :: Errno
</span><a href="Foreign.C.Error.html#eNOSR"><span class="hs-identifier hs-var hs-var">eNOSR</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOSR</span><span class="hs-special">)</span><span>
</span><span id="line-200"></span><span id="eNOSTR"><span class="annot"><span class="annottext">eNOSTR :: Errno
</span><a href="Foreign.C.Error.html#eNOSTR"><span class="hs-identifier hs-var hs-var">eNOSTR</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOSTR</span><span class="hs-special">)</span><span>
</span><span id="line-201"></span><span id="eNOSYS"><span class="annot"><span class="annottext">eNOSYS :: Errno
</span><a href="Foreign.C.Error.html#eNOSYS"><span class="hs-identifier hs-var hs-var">eNOSYS</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOSYS</span><span class="hs-special">)</span><span>
</span><span id="line-202"></span><span id="eNOTBLK"><span class="annot"><span class="annottext">eNOTBLK :: Errno
</span><a href="Foreign.C.Error.html#eNOTBLK"><span class="hs-identifier hs-var hs-var">eNOTBLK</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTBLK</span><span class="hs-special">)</span><span>
</span><span id="line-203"></span><span id="eNOTCONN"><span class="annot"><span class="annottext">eNOTCONN :: Errno
</span><a href="Foreign.C.Error.html#eNOTCONN"><span class="hs-identifier hs-var hs-var">eNOTCONN</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTCONN</span><span class="hs-special">)</span><span>
</span><span id="line-204"></span><span id="eNOTDIR"><span class="annot"><span class="annottext">eNOTDIR :: Errno
</span><a href="Foreign.C.Error.html#eNOTDIR"><span class="hs-identifier hs-var hs-var">eNOTDIR</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTDIR</span><span class="hs-special">)</span><span>
</span><span id="line-205"></span><span id="eNOTEMPTY"><span class="annot"><span class="annottext">eNOTEMPTY :: Errno
</span><a href="Foreign.C.Error.html#eNOTEMPTY"><span class="hs-identifier hs-var hs-var">eNOTEMPTY</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTEMPTY</span><span class="hs-special">)</span><span>
</span><span id="line-206"></span><span id="eNOTSOCK"><span class="annot"><span class="annottext">eNOTSOCK :: Errno
</span><a href="Foreign.C.Error.html#eNOTSOCK"><span class="hs-identifier hs-var hs-var">eNOTSOCK</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTSOCK</span><span class="hs-special">)</span><span>
</span><span id="line-207"></span><span id="eNOTSUP"><span class="annot"><span class="annottext">eNOTSUP :: Errno
</span><a href="Foreign.C.Error.html#eNOTSUP"><span class="hs-identifier hs-var hs-var">eNOTSUP</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTSUP</span><span class="hs-special">)</span><span>
</span><span id="line-208"></span><span class="hs-comment">-- ^ @since 4.7.0.0</span><span>
</span><span id="line-209"></span><span id="eNOTTY"><span class="annot"><span class="annottext">eNOTTY :: Errno
</span><a href="Foreign.C.Error.html#eNOTTY"><span class="hs-identifier hs-var hs-var">eNOTTY</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENOTTY</span><span class="hs-special">)</span><span>
</span><span id="line-210"></span><span id="eNXIO"><span class="annot"><span class="annottext">eNXIO :: Errno
</span><a href="Foreign.C.Error.html#eNXIO"><span class="hs-identifier hs-var hs-var">eNXIO</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ENXIO</span><span class="hs-special">)</span><span>
</span><span id="line-211"></span><span id="eOPNOTSUPP"><span class="annot"><span class="annottext">eOPNOTSUPP :: Errno
</span><a href="Foreign.C.Error.html#eOPNOTSUPP"><span class="hs-identifier hs-var hs-var">eOPNOTSUPP</span></a></span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EOPNOTSUPP</span><span class="hs-special">)</span><span>
</span><span id="line-212"></span><span id="ePERM"><span class="annot"><span class="annottext">ePERM :: Errno
</span><a href="Foreign.C.Error.html#ePERM"><span class="hs-identifier hs-var hs-var">ePERM</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPERM</span><span class="hs-special">)</span><span>
</span><span id="line-213"></span><span id="ePFNOSUPPORT"><span class="annot"><span class="annottext">ePFNOSUPPORT :: Errno
</span><a href="Foreign.C.Error.html#ePFNOSUPPORT"><span class="hs-identifier hs-var hs-var">ePFNOSUPPORT</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPFNOSUPPORT</span><span class="hs-special">)</span><span>
</span><span id="line-214"></span><span id="ePIPE"><span class="annot"><span class="annottext">ePIPE :: Errno
</span><a href="Foreign.C.Error.html#ePIPE"><span class="hs-identifier hs-var hs-var">ePIPE</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPIPE</span><span class="hs-special">)</span><span>
</span><span id="line-215"></span><span id="ePROCLIM"><span class="annot"><span class="annottext">ePROCLIM :: Errno
</span><a href="Foreign.C.Error.html#ePROCLIM"><span class="hs-identifier hs-var hs-var">ePROCLIM</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROCLIM</span><span class="hs-special">)</span><span>
</span><span id="line-216"></span><span id="ePROCUNAVAIL"><span class="annot"><span class="annottext">ePROCUNAVAIL :: Errno
</span><a href="Foreign.C.Error.html#ePROCUNAVAIL"><span class="hs-identifier hs-var hs-var">ePROCUNAVAIL</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROCUNAVAIL</span><span class="hs-special">)</span><span>
</span><span id="line-217"></span><span id="ePROGMISMATCH"><span class="annot"><span class="annottext">ePROGMISMATCH :: Errno
</span><a href="Foreign.C.Error.html#ePROGMISMATCH"><span class="hs-identifier hs-var hs-var">ePROGMISMATCH</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROGMISMATCH</span><span class="hs-special">)</span><span>
</span><span id="line-218"></span><span id="ePROGUNAVAIL"><span class="annot"><span class="annottext">ePROGUNAVAIL :: Errno
</span><a href="Foreign.C.Error.html#ePROGUNAVAIL"><span class="hs-identifier hs-var hs-var">ePROGUNAVAIL</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROGUNAVAIL</span><span class="hs-special">)</span><span>
</span><span id="line-219"></span><span id="ePROTO"><span class="annot"><span class="annottext">ePROTO :: Errno
</span><a href="Foreign.C.Error.html#ePROTO"><span class="hs-identifier hs-var hs-var">ePROTO</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROTO</span><span class="hs-special">)</span><span>
</span><span id="line-220"></span><span id="ePROTONOSUPPORT"><span class="annot"><span class="annottext">ePROTONOSUPPORT :: Errno
</span><a href="Foreign.C.Error.html#ePROTONOSUPPORT"><span class="hs-identifier hs-var hs-var">ePROTONOSUPPORT</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROTONOSUPPORT</span><span class="hs-special">)</span><span>
</span><span id="line-221"></span><span id="ePROTOTYPE"><span class="annot"><span class="annottext">ePROTOTYPE :: Errno
</span><a href="Foreign.C.Error.html#ePROTOTYPE"><span class="hs-identifier hs-var hs-var">ePROTOTYPE</span></a></span></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EPROTOTYPE</span><span class="hs-special">)</span><span>
</span><span id="line-222"></span><span id="eRANGE"><span class="annot"><span class="annottext">eRANGE :: Errno
</span><a href="Foreign.C.Error.html#eRANGE"><span class="hs-identifier hs-var hs-var">eRANGE</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ERANGE</span><span class="hs-special">)</span><span>
</span><span id="line-223"></span><span id="eREMCHG"><span class="annot"><span class="annottext">eREMCHG :: Errno
</span><a href="Foreign.C.Error.html#eREMCHG"><span class="hs-identifier hs-var hs-var">eREMCHG</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EREMCHG</span><span class="hs-special">)</span><span>
</span><span id="line-224"></span><span id="eREMOTE"><span class="annot"><span class="annottext">eREMOTE :: Errno
</span><a href="Foreign.C.Error.html#eREMOTE"><span class="hs-identifier hs-var hs-var">eREMOTE</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EREMOTE</span><span class="hs-special">)</span><span>
</span><span id="line-225"></span><span id="eROFS"><span class="annot"><span class="annottext">eROFS :: Errno
</span><a href="Foreign.C.Error.html#eROFS"><span class="hs-identifier hs-var hs-var">eROFS</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EROFS</span><span class="hs-special">)</span><span>
</span><span id="line-226"></span><span id="eRPCMISMATCH"><span class="annot"><span class="annottext">eRPCMISMATCH :: Errno
</span><a href="Foreign.C.Error.html#eRPCMISMATCH"><span class="hs-identifier hs-var hs-var">eRPCMISMATCH</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ERPCMISMATCH</span><span class="hs-special">)</span><span>
</span><span id="line-227"></span><span id="eRREMOTE"><span class="annot"><span class="annottext">eRREMOTE :: Errno
</span><a href="Foreign.C.Error.html#eRREMOTE"><span class="hs-identifier hs-var hs-var">eRREMOTE</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ERREMOTE</span><span class="hs-special">)</span><span>
</span><span id="line-228"></span><span id="eSHUTDOWN"><span class="annot"><span class="annottext">eSHUTDOWN :: Errno
</span><a href="Foreign.C.Error.html#eSHUTDOWN"><span class="hs-identifier hs-var hs-var">eSHUTDOWN</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ESHUTDOWN</span><span class="hs-special">)</span><span>
</span><span id="line-229"></span><span id="eSOCKTNOSUPPORT"><span class="annot"><span class="annottext">eSOCKTNOSUPPORT :: Errno
</span><a href="Foreign.C.Error.html#eSOCKTNOSUPPORT"><span class="hs-identifier hs-var hs-var">eSOCKTNOSUPPORT</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ESOCKTNOSUPPORT</span><span class="hs-special">)</span><span>
</span><span id="line-230"></span><span id="eSPIPE"><span class="annot"><span class="annottext">eSPIPE :: Errno
</span><a href="Foreign.C.Error.html#eSPIPE"><span class="hs-identifier hs-var hs-var">eSPIPE</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ESPIPE</span><span class="hs-special">)</span><span>
</span><span id="line-231"></span><span id="eSRCH"><span class="annot"><span class="annottext">eSRCH :: Errno
</span><a href="Foreign.C.Error.html#eSRCH"><span class="hs-identifier hs-var hs-var">eSRCH</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ESRCH</span><span class="hs-special">)</span><span>
</span><span id="line-232"></span><span id="eSRMNT"><span class="annot"><span class="annottext">eSRMNT :: Errno
</span><a href="Foreign.C.Error.html#eSRMNT"><span class="hs-identifier hs-var hs-var">eSRMNT</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ESRMNT</span><span class="hs-special">)</span><span>
</span><span id="line-233"></span><span id="eSTALE"><span class="annot"><span class="annottext">eSTALE :: Errno
</span><a href="Foreign.C.Error.html#eSTALE"><span class="hs-identifier hs-var hs-var">eSTALE</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ESTALE</span><span class="hs-special">)</span><span>
</span><span id="line-234"></span><span id="eTIME"><span class="annot"><span class="annottext">eTIME :: Errno
</span><a href="Foreign.C.Error.html#eTIME"><span class="hs-identifier hs-var hs-var">eTIME</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ETIME</span><span class="hs-special">)</span><span>
</span><span id="line-235"></span><span id="eTIMEDOUT"><span class="annot"><span class="annottext">eTIMEDOUT :: Errno
</span><a href="Foreign.C.Error.html#eTIMEDOUT"><span class="hs-identifier hs-var hs-var">eTIMEDOUT</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ETIMEDOUT</span><span class="hs-special">)</span><span>
</span><span id="line-236"></span><span id="eTOOMANYREFS"><span class="annot"><span class="annottext">eTOOMANYREFS :: Errno
</span><a href="Foreign.C.Error.html#eTOOMANYREFS"><span class="hs-identifier hs-var hs-var">eTOOMANYREFS</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ETOOMANYREFS</span><span class="hs-special">)</span><span>
</span><span id="line-237"></span><span id="eTXTBSY"><span class="annot"><span class="annottext">eTXTBSY :: Errno
</span><a href="Foreign.C.Error.html#eTXTBSY"><span class="hs-identifier hs-var hs-var">eTXTBSY</span></a></span></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_ETXTBSY</span><span class="hs-special">)</span><span>
</span><span id="line-238"></span><span id="eUSERS"><span class="annot"><span class="annottext">eUSERS :: Errno
</span><a href="Foreign.C.Error.html#eUSERS"><span class="hs-identifier hs-var hs-var">eUSERS</span></a></span></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EUSERS</span><span class="hs-special">)</span><span>
</span><span id="line-239"></span><span id="eWOULDBLOCK"><span class="annot"><span class="annottext">eWOULDBLOCK :: Errno
</span><a href="Foreign.C.Error.html#eWOULDBLOCK"><span class="hs-identifier hs-var hs-var">eWOULDBLOCK</span></a></span></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EWOULDBLOCK</span><span class="hs-special">)</span><span>
</span><span id="line-240"></span><span id="eXDEV"><span class="annot"><span class="annottext">eXDEV :: Errno
</span><a href="Foreign.C.Error.html#eXDEV"><span class="hs-identifier hs-var hs-var">eXDEV</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-identifier">CONST_EXDEV</span><span class="hs-special">)</span><span>
</span><span id="line-241"></span><span>
</span><span id="line-242"></span><span class="hs-comment">-- | Yield 'True' if the given 'Errno' value is valid on the system.</span><span>
</span><span id="line-243"></span><span class="hs-comment">-- This implies that the 'Eq' instance of 'Errno' is also system dependent</span><span>
</span><span id="line-244"></span><span class="hs-comment">-- as it is only defined for valid values of 'Errno'.</span><span>
</span><span id="line-245"></span><span class="hs-comment">--</span><span>
</span><span id="line-246"></span><span class="annot"><a href="Foreign.C.Error.html#isValidErrno"><span class="hs-identifier hs-type">isValidErrno</span></a></span><span>               </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span>
</span><span id="line-247"></span><span class="hs-comment">--</span><span>
</span><span id="line-248"></span><span class="hs-comment">-- the configure script sets all invalid &quot;errno&quot;s to -1</span><span>
</span><span id="line-249"></span><span class="hs-comment">--</span><span>
</span><span id="line-250"></span><span id="isValidErrno"><span class="annot"><span class="annottext">isValidErrno :: Errno -&gt; Bool
</span><a href="Foreign.C.Error.html#isValidErrno"><span class="hs-identifier hs-var hs-var">isValidErrno</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span> </span><span id="local-6989586621679543929"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543929"><span class="hs-identifier hs-var">errno</span></a></span></span><span class="hs-special">)</span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543929"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">CInt -&gt; CInt -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%2F%3D"><span class="hs-operator hs-var">/=</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">CInt
</span><span class="hs-number">1</span></span><span>
</span><span id="line-251"></span><span>
</span><span id="line-252"></span><span>
</span><span id="line-253"></span><span class="hs-comment">-- access to the current thread's &quot;errno&quot; value</span><span>
</span><span id="line-254"></span><span class="hs-comment">-- --------------------------------------------</span><span>
</span><span id="line-255"></span><span>
</span><span id="line-256"></span><span class="hs-comment">-- | Get the current value of @errno@ in the current thread.</span><span>
</span><span id="line-257"></span><span class="hs-comment">--</span><span>
</span><span id="line-258"></span><span class="hs-comment">-- On GHC, the runtime will ensure that any Haskell thread will only see &quot;its own&quot;</span><span>
</span><span id="line-259"></span><span class="hs-comment">-- @errno@, by saving and restoring the value when Haskell threads are scheduled</span><span>
</span><span id="line-260"></span><span class="hs-comment">-- across OS threads.</span><span>
</span><span id="line-261"></span><span class="annot"><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier hs-type">getErrno</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span>
</span><span id="line-262"></span><span>
</span><span id="line-263"></span><span class="hs-comment">-- We must call a C function to get the value of errno in general.  On</span><span>
</span><span id="line-264"></span><span class="hs-comment">-- threaded systems, errno is hidden behind a C macro so that each OS</span><span>
</span><span id="line-265"></span><span class="hs-comment">-- thread gets its own copy (`saved_errno`, which `rts/Schedule.c` restores</span><span>
</span><span id="line-266"></span><span class="hs-comment">-- back into the thread-local `errno` when a Haskell thread is rescheduled).</span><span>
</span><span id="line-267"></span><span id="getErrno"><span class="annot"><span class="annottext">getErrno :: IO Errno
</span><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier hs-var hs-var">getErrno</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span> </span><span id="local-6989586621679543927"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543927"><span class="hs-identifier hs-var">e</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO CInt
</span><a href="Foreign.C.Error.html#get_errno"><span class="hs-identifier hs-var">get_errno</span></a></span><span class="hs-special">;</span><span> </span><span class="annot"><span class="annottext">Errno -&gt; IO Errno
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CInt -&gt; Errno
</span><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-var">Errno</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543927"><span class="hs-identifier hs-var">e</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-268"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;HsBase.h __hscore_get_errno&quot;</span></span><span> </span><span id="get_errno"><span class="annot"><a href="Foreign.C.Error.html#get_errno"><span class="hs-identifier hs-var">get_errno</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="Foreign.C.Types.html#CInt"><span class="hs-identifier hs-type">CInt</span></a></span><span>
</span><span id="line-269"></span><span>
</span><span id="line-270"></span><span class="hs-comment">-- | Reset the current thread\'s @errno@ value to 'eOK'.</span><span>
</span><span id="line-271"></span><span class="hs-comment">--</span><span>
</span><span id="line-272"></span><span class="annot"><a href="Foreign.C.Error.html#resetErrno"><span class="hs-identifier hs-type">resetErrno</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-273"></span><span>
</span><span id="line-274"></span><span class="hs-comment">-- Again, setting errno has to be done via a C function.</span><span>
</span><span id="line-275"></span><span id="resetErrno"><span class="annot"><span class="annottext">resetErrno :: IO ()
</span><a href="Foreign.C.Error.html#resetErrno"><span class="hs-identifier hs-var hs-var">resetErrno</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">CInt -&gt; IO ()
</span><a href="Foreign.C.Error.html#set_errno"><span class="hs-identifier hs-var">set_errno</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><span class="hs-number">0</span></span><span>
</span><span id="line-276"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;HsBase.h __hscore_set_errno&quot;</span></span><span> </span><span id="set_errno"><span class="annot"><a href="Foreign.C.Error.html#set_errno"><span class="hs-identifier hs-var">set_errno</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Foreign.C.Types.html#CInt"><span class="hs-identifier hs-type">CInt</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-277"></span><span>
</span><span id="line-278"></span><span class="hs-comment">-- throw current &quot;errno&quot; value</span><span>
</span><span id="line-279"></span><span class="hs-comment">-- ---------------------------</span><span>
</span><span id="line-280"></span><span>
</span><span id="line-281"></span><span class="hs-comment">-- | Throw an 'IOError' corresponding to the current value of 'getErrno'.</span><span>
</span><span id="line-282"></span><span class="hs-comment">--</span><span>
</span><span id="line-283"></span><span id="local-6989586621679544272"><span class="annot"><a href="Foreign.C.Error.html#throwErrno"><span class="hs-identifier hs-type">throwErrno</span></a></span><span>     </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>        </span><span class="hs-comment">-- ^ textual description of the error location</span><span>
</span><span id="line-284"></span><span>               </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544272"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-285"></span><span id="throwErrno"><span class="annot"><span class="annottext">throwErrno :: forall a. String -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrno"><span class="hs-identifier hs-var hs-var">throwErrno</span></a></span></span><span> </span><span id="local-6989586621679543923"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543923"><span class="hs-identifier hs-var">loc</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span>
</span><span id="line-286"></span><span>  </span><span class="hs-keyword">do</span><span>
</span><span id="line-287"></span><span>    </span><span id="local-6989586621679543922"><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543922"><span class="hs-identifier hs-var">errno</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO Errno
</span><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier hs-var">getErrno</span></a></span><span>
</span><span id="line-288"></span><span>    </span><span class="annot"><span class="annottext">IOError -&gt; IO a
forall a. IOError -&gt; IO a
</span><a href="GHC.IO.Exception.html#ioError"><span class="hs-identifier hs-var">ioError</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Errno -&gt; Maybe Handle -&gt; Maybe String -&gt; IOError
</span><a href="Foreign.C.Error.html#errnoToIOError"><span class="hs-identifier hs-var">errnoToIOError</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543923"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543922"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Handle
forall a. Maybe a
</span><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe String
forall a. Maybe a
</span><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-289"></span><span>
</span><span id="line-290"></span><span>
</span><span id="line-291"></span><span class="hs-comment">-- guards for IO operations that may fail</span><span>
</span><span id="line-292"></span><span class="hs-comment">-- --------------------------------------</span><span>
</span><span id="line-293"></span><span>
</span><span id="line-294"></span><span class="hs-comment">-- | Throw an 'IOError' corresponding to the current value of 'getErrno'</span><span>
</span><span id="line-295"></span><span class="hs-comment">-- if the result value of the 'IO' action meets the given predicate.</span><span>
</span><span id="line-296"></span><span class="hs-comment">--</span><span>
</span><span id="line-297"></span><span id="local-6989586621679544266"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIf"><span class="hs-identifier hs-type">throwErrnoIf</span></a></span><span>    </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679544266"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-comment">-- ^ predicate to apply to the result value</span><span>
</span><span id="line-298"></span><span>                                </span><span class="hs-comment">-- of the 'IO' operation</span><span>
</span><span id="line-299"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>       </span><span class="hs-comment">-- ^ textual description of the location</span><span>
</span><span id="line-300"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544266"><span class="hs-identifier hs-type">a</span></a></span><span>         </span><span class="hs-comment">-- ^ the 'IO' operation to be executed</span><span>
</span><span id="line-301"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544266"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-302"></span><span id="throwErrnoIf"><span class="annot"><span class="annottext">throwErrnoIf :: forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIf"><span class="hs-identifier hs-var hs-var">throwErrnoIf</span></a></span></span><span> </span><span id="local-6989586621679543918"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543918"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543917"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543917"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543916"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543916"><span class="hs-identifier hs-var">f</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span>
</span><span id="line-303"></span><span>  </span><span class="hs-keyword">do</span><span>
</span><span id="line-304"></span><span>    </span><span id="local-6989586621679543915"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543915"><span class="hs-identifier hs-var">res</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543916"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-305"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543918"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543915"><span class="hs-identifier hs-var">res</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO a
forall a. String -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrno"><span class="hs-identifier hs-var">throwErrno</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543917"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">a -&gt; IO a
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543915"><span class="hs-identifier hs-var">res</span></a></span><span>
</span><span id="line-306"></span><span>
</span><span id="line-307"></span><span class="hs-comment">-- | as 'throwErrnoIf', but discards the result of the 'IO' action after</span><span>
</span><span id="line-308"></span><span class="hs-comment">-- error handling.</span><span>
</span><span id="line-309"></span><span class="hs-comment">--</span><span>
</span><span id="line-310"></span><span id="local-6989586621679544264"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIf_"><span class="hs-identifier hs-type">throwErrnoIf_</span></a></span><span>   </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679544264"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544264"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-311"></span><span id="throwErrnoIf_"><span class="annot"><span class="annottext">throwErrnoIf_ :: forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIf_"><span class="hs-identifier hs-var hs-var">throwErrnoIf_</span></a></span></span><span> </span><span id="local-6989586621679543912"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543912"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543911"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543911"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543910"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543910"><span class="hs-identifier hs-var">f</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IO a -&gt; IO ()
forall (f :: * -&gt; *) a. Functor f =&gt; f a -&gt; f ()
</span><a href="Data.Functor.html#void"><span class="hs-identifier hs-var">void</span></a></span><span> </span><span class="annot"><span class="annottext">(IO a -&gt; IO ()) -&gt; IO a -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIf"><span class="hs-identifier hs-var">throwErrnoIf</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543912"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543911"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543910"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-312"></span><span>
</span><span id="line-313"></span><span class="hs-comment">-- | as 'throwErrnoIf', but retry the 'IO' action when it yields the</span><span>
</span><span id="line-314"></span><span class="hs-comment">-- error code 'eINTR' - this amounts to the standard retry loop for</span><span>
</span><span id="line-315"></span><span class="hs-comment">-- interrupted POSIX system calls.</span><span>
</span><span id="line-316"></span><span class="hs-comment">--</span><span>
</span><span id="line-317"></span><span id="local-6989586621679543909"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier hs-type">throwErrnoIfRetry</span></a></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679543909"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543909"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543909"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-318"></span><span id="throwErrnoIfRetry"><span class="annot"><span class="annottext">throwErrnoIfRetry :: forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier hs-var hs-var">throwErrnoIfRetry</span></a></span></span><span> </span><span id="local-6989586621679543904"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543904"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543903"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543903"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543902"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543902"><span class="hs-identifier hs-var">f</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span>
</span><span id="line-319"></span><span>  </span><span class="hs-keyword">do</span><span>
</span><span id="line-320"></span><span>    </span><span id="local-6989586621679543901"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543901"><span class="hs-identifier hs-var">res</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543902"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-321"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543904"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543901"><span class="hs-identifier hs-var">res</span></a></span><span>
</span><span id="line-322"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-323"></span><span>        </span><span id="local-6989586621679543900"><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543900"><span class="hs-identifier hs-var">err</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO Errno
</span><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier hs-var">getErrno</span></a></span><span>
</span><span id="line-324"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543900"><span class="hs-identifier hs-var">err</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eINTR"><span class="hs-identifier hs-var">eINTR</span></a></span><span>
</span><span id="line-325"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier hs-var">throwErrnoIfRetry</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543904"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543903"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543902"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-326"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO a
forall a. String -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrno"><span class="hs-identifier hs-var">throwErrno</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543903"><span class="hs-identifier hs-var">loc</span></a></span><span>
</span><span id="line-327"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">a -&gt; IO a
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543901"><span class="hs-identifier hs-var">res</span></a></span><span>
</span><span id="line-328"></span><span>
</span><span id="line-329"></span><span class="hs-comment">-- | as 'throwErrnoIfRetry', but additionally if the operation</span><span>
</span><span id="line-330"></span><span class="hs-comment">-- yields the error code 'eAGAIN' or 'eWOULDBLOCK', an alternative</span><span>
</span><span id="line-331"></span><span class="hs-comment">-- action is executed before retrying.</span><span>
</span><span id="line-332"></span><span class="hs-comment">--</span><span>
</span><span id="line-333"></span><span id="local-6989586621679544255"><span id="local-6989586621679544256"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-type">throwErrnoIfRetryMayBlock</span></a></span><span>
</span><span id="line-334"></span><span>                </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679544256"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-comment">-- ^ predicate to apply to the result value</span><span>
</span><span id="line-335"></span><span>                                </span><span class="hs-comment">-- of the 'IO' operation</span><span>
</span><span id="line-336"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>       </span><span class="hs-comment">-- ^ textual description of the location</span><span>
</span><span id="line-337"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544256"><span class="hs-identifier hs-type">a</span></a></span><span>         </span><span class="hs-comment">-- ^ the 'IO' operation to be executed</span><span>
</span><span id="line-338"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544255"><span class="hs-identifier hs-type">b</span></a></span><span>         </span><span class="hs-comment">-- ^ action to execute before retrying if</span><span>
</span><span id="line-339"></span><span>                                </span><span class="hs-comment">-- an immediate retry would block</span><span>
</span><span id="line-340"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544256"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-341"></span><span id="throwErrnoIfRetryMayBlock"><span class="annot"><span class="annottext">throwErrnoIfRetryMayBlock :: forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-var hs-var">throwErrnoIfRetryMayBlock</span></a></span></span><span> </span><span id="local-6989586621679543892"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543892"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543891"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543891"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543890"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543890"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679543889"><span class="annot"><span class="annottext">IO b
</span><a href="#local-6989586621679543889"><span class="hs-identifier hs-var">on_block</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span>
</span><span id="line-342"></span><span>  </span><span class="hs-keyword">do</span><span>
</span><span id="line-343"></span><span>    </span><span id="local-6989586621679543888"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543888"><span class="hs-identifier hs-var">res</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543890"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-344"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543892"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543888"><span class="hs-identifier hs-var">res</span></a></span><span>
</span><span id="line-345"></span><span>      </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-346"></span><span>        </span><span id="local-6989586621679543887"><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543887"><span class="hs-identifier hs-var">err</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO Errno
</span><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier hs-var">getErrno</span></a></span><span>
</span><span id="line-347"></span><span>        </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543887"><span class="hs-identifier hs-var">err</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eINTR"><span class="hs-identifier hs-var">eINTR</span></a></span><span>
</span><span id="line-348"></span><span>          </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-var">throwErrnoIfRetryMayBlock</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543892"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543891"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543890"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">IO b
</span><a href="#local-6989586621679543889"><span class="hs-identifier hs-var">on_block</span></a></span><span>
</span><span id="line-349"></span><span>          </span><span class="hs-keyword">else</span><span> </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543887"><span class="hs-identifier hs-var">err</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eWOULDBLOCK"><span class="hs-identifier hs-var">eWOULDBLOCK</span></a></span><span> </span><span class="annot"><span class="annottext">Bool -&gt; Bool -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%7C%7C"><span class="hs-operator hs-var">||</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543887"><span class="hs-identifier hs-var">err</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eAGAIN"><span class="hs-identifier hs-var">eAGAIN</span></a></span><span>
</span><span id="line-350"></span><span>                 </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span> </span><span class="annot"><span class="annottext">b
</span><span class="hs-identifier">_</span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO b
</span><a href="#local-6989586621679543889"><span class="hs-identifier hs-var">on_block</span></a></span><span>
</span><span id="line-351"></span><span>                         </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-var">throwErrnoIfRetryMayBlock</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543892"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543891"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543890"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">IO b
</span><a href="#local-6989586621679543889"><span class="hs-identifier hs-var">on_block</span></a></span><span>
</span><span id="line-352"></span><span>                 </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">String -&gt; IO a
forall a. String -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrno"><span class="hs-identifier hs-var">throwErrno</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543891"><span class="hs-identifier hs-var">loc</span></a></span><span>
</span><span id="line-353"></span><span>      </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">a -&gt; IO a
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543888"><span class="hs-identifier hs-var">res</span></a></span><span>
</span><span id="line-354"></span><span>
</span><span id="line-355"></span><span class="hs-comment">-- | as 'throwErrnoIfRetry', but discards the result.</span><span>
</span><span id="line-356"></span><span class="hs-comment">--</span><span>
</span><span id="line-357"></span><span id="local-6989586621679543885"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetry_"><span class="hs-identifier hs-type">throwErrnoIfRetry_</span></a></span><span>            </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679543885"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543885"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-358"></span><span id="throwErrnoIfRetry_"><span class="annot"><span class="annottext">throwErrnoIfRetry_ :: forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry_"><span class="hs-identifier hs-var hs-var">throwErrnoIfRetry_</span></a></span></span><span> </span><span id="local-6989586621679543883"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543883"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543882"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543882"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543881"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543881"><span class="hs-identifier hs-var">f</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IO a -&gt; IO ()
forall (f :: * -&gt; *) a. Functor f =&gt; f a -&gt; f ()
</span><a href="Data.Functor.html#void"><span class="hs-identifier hs-var">void</span></a></span><span> </span><span class="annot"><span class="annottext">(IO a -&gt; IO ()) -&gt; IO a -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier hs-var">throwErrnoIfRetry</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543883"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543882"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543881"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-359"></span><span>
</span><span id="line-360"></span><span class="hs-comment">-- | as 'throwErrnoIfRetryMayBlock', but discards the result.</span><span>
</span><span id="line-361"></span><span class="hs-comment">--</span><span>
</span><span id="line-362"></span><span id="local-6989586621679544250"><span id="local-6989586621679544251"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock_"><span class="hs-identifier hs-type">throwErrnoIfRetryMayBlock_</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679544251"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544251"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544250"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span></span><span>
</span><span id="line-363"></span><span id="throwErrnoIfRetryMayBlock_"><span class="annot"><span class="annottext">throwErrnoIfRetryMayBlock_ :: forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock_"><span class="hs-identifier hs-var hs-var">throwErrnoIfRetryMayBlock_</span></a></span></span><span> </span><span id="local-6989586621679543879"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543879"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543878"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543878"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543877"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543877"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621679543876"><span class="annot"><span class="annottext">IO b
</span><a href="#local-6989586621679543876"><span class="hs-identifier hs-var">on_block</span></a></span></span><span>
</span><span id="line-364"></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IO a -&gt; IO ()
forall (f :: * -&gt; *) a. Functor f =&gt; f a -&gt; f ()
</span><a href="Data.Functor.html#void"><span class="hs-identifier hs-var">void</span></a></span><span> </span><span class="annot"><span class="annottext">(IO a -&gt; IO ()) -&gt; IO a -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-var">throwErrnoIfRetryMayBlock</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543879"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543878"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543877"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">IO b
</span><a href="#local-6989586621679543876"><span class="hs-identifier hs-var">on_block</span></a></span><span>
</span><span id="line-365"></span><span>
</span><span id="line-366"></span><span class="hs-comment">-- | Throw an 'IOError' corresponding to the current value of 'getErrno'</span><span>
</span><span id="line-367"></span><span class="hs-comment">-- if the 'IO' action returns a result of @-1@.</span><span>
</span><span id="line-368"></span><span class="hs-comment">--</span><span>
</span><span id="line-369"></span><span id="local-6989586621679544247"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1"><span class="hs-identifier hs-type">throwErrnoIfMinus1</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544247"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544247"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544247"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544247"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-370"></span><span id="throwErrnoIfMinus1"><span class="annot"><span class="annottext">throwErrnoIfMinus1 :: forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfMinus1"><span class="hs-identifier hs-var hs-var">throwErrnoIfMinus1</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIf"><span class="hs-identifier hs-var">throwErrnoIf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-371"></span><span>
</span><span id="line-372"></span><span class="hs-comment">-- | as 'throwErrnoIfMinus1', but discards the result.</span><span>
</span><span id="line-373"></span><span class="hs-comment">--</span><span>
</span><span id="line-374"></span><span id="local-6989586621679544245"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1_"><span class="hs-identifier hs-type">throwErrnoIfMinus1_</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544245"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544245"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544245"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-375"></span><span id="throwErrnoIfMinus1_"><span class="annot"><span class="annottext">throwErrnoIfMinus1_ :: forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfMinus1_"><span class="hs-identifier hs-var hs-var">throwErrnoIfMinus1_</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO ()
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIf_"><span class="hs-identifier hs-var">throwErrnoIf_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-376"></span><span>
</span><span id="line-377"></span><span class="hs-comment">-- | Throw an 'IOError' corresponding to the current value of 'getErrno'</span><span>
</span><span id="line-378"></span><span class="hs-comment">-- if the 'IO' action returns a result of @-1@, but retries in case of</span><span>
</span><span id="line-379"></span><span class="hs-comment">-- an interrupted operation.</span><span>
</span><span id="line-380"></span><span class="hs-comment">--</span><span>
</span><span id="line-381"></span><span id="local-6989586621679543865"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1Retry"><span class="hs-identifier hs-type">throwErrnoIfMinus1Retry</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543865"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543865"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543865"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543865"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-382"></span><span id="throwErrnoIfMinus1Retry"><span class="annot"><span class="annottext">throwErrnoIfMinus1Retry :: forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfMinus1Retry"><span class="hs-identifier hs-var hs-var">throwErrnoIfMinus1Retry</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier hs-var">throwErrnoIfRetry</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-383"></span><span>
</span><span id="line-384"></span><span class="hs-comment">-- | as 'throwErrnoIfMinus1', but discards the result.</span><span>
</span><span id="line-385"></span><span class="hs-comment">--</span><span>
</span><span id="line-386"></span><span id="local-6989586621679543859"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1Retry_"><span class="hs-identifier hs-type">throwErrnoIfMinus1Retry_</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543859"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543859"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543859"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-387"></span><span id="throwErrnoIfMinus1Retry_"><span class="annot"><span class="annottext">throwErrnoIfMinus1Retry_ :: forall a. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfMinus1Retry_"><span class="hs-identifier hs-var hs-var">throwErrnoIfMinus1Retry_</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO ()
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry_"><span class="hs-identifier hs-var">throwErrnoIfRetry_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-388"></span><span>
</span><span id="line-389"></span><span class="hs-comment">-- | as 'throwErrnoIfMinus1Retry', but checks for operations that would block.</span><span>
</span><span id="line-390"></span><span class="hs-comment">--</span><span>
</span><span id="line-391"></span><span id="local-6989586621679544240"><span id="local-6989586621679544241"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1RetryMayBlock"><span class="hs-identifier hs-type">throwErrnoIfMinus1RetryMayBlock</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544241"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544241"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-392"></span><span>                                </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544241"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544240"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544241"><span class="hs-identifier hs-type">a</span></a></span></span></span><span>
</span><span id="line-393"></span><span id="throwErrnoIfMinus1RetryMayBlock"><span class="annot"><span class="annottext">throwErrnoIfMinus1RetryMayBlock :: forall a b. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfMinus1RetryMayBlock"><span class="hs-identifier hs-var hs-var">throwErrnoIfMinus1RetryMayBlock</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-var">throwErrnoIfRetryMayBlock</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-394"></span><span>
</span><span id="line-395"></span><span class="hs-comment">-- | as 'throwErrnoIfMinus1RetryMayBlock', but discards the result.</span><span>
</span><span id="line-396"></span><span class="hs-comment">--</span><span>
</span><span id="line-397"></span><span id="local-6989586621679544236"><span id="local-6989586621679544237"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfMinus1RetryMayBlock_"><span class="hs-identifier hs-type">throwErrnoIfMinus1RetryMayBlock_</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544237"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544237"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-398"></span><span>                                 </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544237"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544236"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span></span><span>
</span><span id="line-399"></span><span id="throwErrnoIfMinus1RetryMayBlock_"><span class="annot"><span class="annottext">throwErrnoIfMinus1RetryMayBlock_ :: forall a b. (Eq a, Num a) =&gt; String -&gt; IO a -&gt; IO b -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfMinus1RetryMayBlock_"><span class="hs-identifier hs-var hs-var">throwErrnoIfMinus1RetryMayBlock_</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO ()
forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock_"><span class="hs-identifier hs-var">throwErrnoIfRetryMayBlock_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-400"></span><span>
</span><span id="line-401"></span><span class="hs-comment">-- | Throw an 'IOError' corresponding to the current value of 'getErrno'</span><span>
</span><span id="line-402"></span><span class="hs-comment">-- if the 'IO' action returns 'nullPtr'.</span><span>
</span><span id="line-403"></span><span class="hs-comment">--</span><span>
</span><span id="line-404"></span><span id="local-6989586621679544233"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfNull"><span class="hs-identifier hs-type">throwErrnoIfNull</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544233"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544233"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-405"></span><span id="throwErrnoIfNull"><span class="annot"><span class="annottext">throwErrnoIfNull :: forall a. String -&gt; IO (Ptr a) -&gt; IO (Ptr a)
</span><a href="Foreign.C.Error.html#throwErrnoIfNull"><span class="hs-identifier hs-var hs-var">throwErrnoIfNull</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Ptr a -&gt; Bool) -&gt; String -&gt; IO (Ptr a) -&gt; IO (Ptr a)
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIf"><span class="hs-identifier hs-var">throwErrnoIf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Ptr a -&gt; Ptr a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
forall a. Ptr a
</span><a href="GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-406"></span><span>
</span><span id="line-407"></span><span class="hs-comment">-- | Throw an 'IOError' corresponding to the current value of 'getErrno'</span><span>
</span><span id="line-408"></span><span class="hs-comment">-- if the 'IO' action returns 'nullPtr',</span><span>
</span><span id="line-409"></span><span class="hs-comment">-- but retry in case of an interrupted operation.</span><span>
</span><span id="line-410"></span><span class="hs-comment">--</span><span>
</span><span id="line-411"></span><span id="local-6989586621679543840"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfNullRetry"><span class="hs-identifier hs-type">throwErrnoIfNullRetry</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543840"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679543840"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-412"></span><span id="throwErrnoIfNullRetry"><span class="annot"><span class="annottext">throwErrnoIfNullRetry :: forall a. String -&gt; IO (Ptr a) -&gt; IO (Ptr a)
</span><a href="Foreign.C.Error.html#throwErrnoIfNullRetry"><span class="hs-identifier hs-var hs-var">throwErrnoIfNullRetry</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Ptr a -&gt; Bool) -&gt; String -&gt; IO (Ptr a) -&gt; IO (Ptr a)
forall a. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetry"><span class="hs-identifier hs-var">throwErrnoIfRetry</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Ptr a -&gt; Ptr a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
forall a. Ptr a
</span><a href="GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-413"></span><span>
</span><span id="line-414"></span><span class="hs-comment">-- | as 'throwErrnoIfNullRetry', but checks for operations that would block.</span><span>
</span><span id="line-415"></span><span class="hs-comment">--</span><span>
</span><span id="line-416"></span><span id="local-6989586621679544227"><span id="local-6989586621679544228"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoIfNullRetryMayBlock"><span class="hs-identifier hs-type">throwErrnoIfNullRetryMayBlock</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544228"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544227"><span class="hs-identifier hs-type">b</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544228"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span></span><span>
</span><span id="line-417"></span><span id="throwErrnoIfNullRetryMayBlock"><span class="annot"><span class="annottext">throwErrnoIfNullRetryMayBlock :: forall a b. String -&gt; IO (Ptr a) -&gt; IO b -&gt; IO (Ptr a)
</span><a href="Foreign.C.Error.html#throwErrnoIfNullRetryMayBlock"><span class="hs-identifier hs-var hs-var">throwErrnoIfNullRetryMayBlock</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Ptr a -&gt; Bool) -&gt; String -&gt; IO (Ptr a) -&gt; IO b -&gt; IO (Ptr a)
forall a b. (a -&gt; Bool) -&gt; String -&gt; IO a -&gt; IO b -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoIfRetryMayBlock"><span class="hs-identifier hs-var">throwErrnoIfRetryMayBlock</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Ptr a -&gt; Ptr a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
forall a. Ptr a
</span><a href="GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-418"></span><span>
</span><span id="line-419"></span><span class="hs-comment">-- | as 'throwErrno', but exceptions include the given path when appropriate.</span><span>
</span><span id="line-420"></span><span class="hs-comment">--</span><span>
</span><span id="line-421"></span><span id="local-6989586621679544224"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPath"><span class="hs-identifier hs-type">throwErrnoPath</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544224"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-422"></span><span id="throwErrnoPath"><span class="annot"><span class="annottext">throwErrnoPath :: forall a. String -&gt; String -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPath"><span class="hs-identifier hs-var hs-var">throwErrnoPath</span></a></span></span><span> </span><span id="local-6989586621679543835"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543835"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543834"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543834"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-423"></span><span>  </span><span class="hs-keyword">do</span><span>
</span><span id="line-424"></span><span>    </span><span id="local-6989586621679543833"><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543833"><span class="hs-identifier hs-var">errno</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO Errno
</span><a href="Foreign.C.Error.html#getErrno"><span class="hs-identifier hs-var">getErrno</span></a></span><span>
</span><span id="line-425"></span><span>    </span><span class="annot"><span class="annottext">IOError -&gt; IO a
forall a. IOError -&gt; IO a
</span><a href="GHC.IO.Exception.html#ioError"><span class="hs-identifier hs-var">ioError</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Errno -&gt; Maybe Handle -&gt; Maybe String -&gt; IOError
</span><a href="Foreign.C.Error.html#errnoToIOError"><span class="hs-identifier hs-var">errnoToIOError</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543835"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543833"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Handle
forall a. Maybe a
</span><a href="GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; Maybe String
forall a. a -&gt; Maybe a
</span><a href="GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543834"><span class="hs-identifier hs-var">path</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-426"></span><span>
</span><span id="line-427"></span><span class="hs-comment">-- | as 'throwErrnoIf', but exceptions include the given path when</span><span>
</span><span id="line-428"></span><span class="hs-comment">--   appropriate.</span><span>
</span><span id="line-429"></span><span class="hs-comment">--</span><span>
</span><span id="line-430"></span><span id="local-6989586621679544222"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIf"><span class="hs-identifier hs-type">throwErrnoPathIf</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679544222"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544222"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544222"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-431"></span><span id="throwErrnoPathIf"><span class="annot"><span class="annottext">throwErrnoPathIf :: forall a. (a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPathIf"><span class="hs-identifier hs-var hs-var">throwErrnoPathIf</span></a></span></span><span> </span><span id="local-6989586621679543830"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543830"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543829"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543829"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543828"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543828"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span id="local-6989586621679543827"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543827"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-432"></span><span>  </span><span class="hs-keyword">do</span><span>
</span><span id="line-433"></span><span>    </span><span id="local-6989586621679543826"><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543826"><span class="hs-identifier hs-var">res</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543827"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-434"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543830"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543826"><span class="hs-identifier hs-var">res</span></a></span><span> </span><span class="hs-keyword">then</span><span> </span><span class="annot"><span class="annottext">String -&gt; String -&gt; IO a
forall a. String -&gt; String -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPath"><span class="hs-identifier hs-var">throwErrnoPath</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543829"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543828"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="hs-keyword">else</span><span> </span><span class="annot"><span class="annottext">a -&gt; IO a
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">a
</span><a href="#local-6989586621679543826"><span class="hs-identifier hs-var">res</span></a></span><span>
</span><span id="line-435"></span><span>
</span><span id="line-436"></span><span class="hs-comment">-- | as 'throwErrnoIf_', but exceptions include the given path when</span><span>
</span><span id="line-437"></span><span class="hs-comment">--   appropriate.</span><span>
</span><span id="line-438"></span><span class="hs-comment">--</span><span>
</span><span id="line-439"></span><span id="local-6989586621679544220"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIf_"><span class="hs-identifier hs-type">throwErrnoPathIf_</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621679544220"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Bool"><span class="hs-identifier hs-type">Bool</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544220"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-440"></span><span id="throwErrnoPathIf_"><span class="annot"><span class="annottext">throwErrnoPathIf_ :: forall a. (a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoPathIf_"><span class="hs-identifier hs-var hs-var">throwErrnoPathIf_</span></a></span></span><span> </span><span id="local-6989586621679543824"><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543824"><span class="hs-identifier hs-var">pred</span></a></span></span><span> </span><span id="local-6989586621679543823"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543823"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543822"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543822"><span class="hs-identifier hs-var">path</span></a></span></span><span> </span><span id="local-6989586621679543821"><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543821"><span class="hs-identifier hs-var">f</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IO a -&gt; IO ()
forall (f :: * -&gt; *) a. Functor f =&gt; f a -&gt; f ()
</span><a href="Data.Functor.html#void"><span class="hs-identifier hs-var">void</span></a></span><span> </span><span class="annot"><span class="annottext">(IO a -&gt; IO ()) -&gt; IO a -&gt; IO ()
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPathIf"><span class="hs-identifier hs-var">throwErrnoPathIf</span></a></span><span> </span><span class="annot"><span class="annottext">a -&gt; Bool
</span><a href="#local-6989586621679543824"><span class="hs-identifier hs-var">pred</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543823"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543822"><span class="hs-identifier hs-var">path</span></a></span><span> </span><span class="annot"><span class="annottext">IO a
</span><a href="#local-6989586621679543821"><span class="hs-identifier hs-var">f</span></a></span><span>
</span><span id="line-441"></span><span>
</span><span id="line-442"></span><span class="hs-comment">-- | as 'throwErrnoIfNull', but exceptions include the given path when</span><span>
</span><span id="line-443"></span><span class="hs-comment">--   appropriate.</span><span>
</span><span id="line-444"></span><span class="hs-comment">--</span><span>
</span><span id="line-445"></span><span id="local-6989586621679544218"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIfNull"><span class="hs-identifier hs-type">throwErrnoPathIfNull</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544218"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544218"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span></span><span>
</span><span id="line-446"></span><span id="throwErrnoPathIfNull"><span class="annot"><span class="annottext">throwErrnoPathIfNull :: forall a. String -&gt; String -&gt; IO (Ptr a) -&gt; IO (Ptr a)
</span><a href="Foreign.C.Error.html#throwErrnoPathIfNull"><span class="hs-identifier hs-var hs-var">throwErrnoPathIfNull</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(Ptr a -&gt; Bool) -&gt; String -&gt; String -&gt; IO (Ptr a) -&gt; IO (Ptr a)
forall a. (a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPathIf"><span class="hs-identifier hs-var">throwErrnoPathIf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Ptr a -&gt; Ptr a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr a
forall a. Ptr a
</span><a href="GHC.Ptr.html#nullPtr"><span class="hs-identifier hs-var">nullPtr</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-447"></span><span>
</span><span id="line-448"></span><span class="hs-comment">-- | as 'throwErrnoIfMinus1', but exceptions include the given path when</span><span>
</span><span id="line-449"></span><span class="hs-comment">--   appropriate.</span><span>
</span><span id="line-450"></span><span class="hs-comment">--</span><span>
</span><span id="line-451"></span><span id="local-6989586621679544216"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIfMinus1"><span class="hs-identifier hs-type">throwErrnoPathIfMinus1</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544216"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544216"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544216"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544216"><span class="hs-identifier hs-type">a</span></a></span></span><span>
</span><span id="line-452"></span><span id="throwErrnoPathIfMinus1"><span class="annot"><span class="annottext">throwErrnoPathIfMinus1 :: forall a. (Eq a, Num a) =&gt; String -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPathIfMinus1"><span class="hs-identifier hs-var hs-var">throwErrnoPathIfMinus1</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO a
forall a. (a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO a
</span><a href="Foreign.C.Error.html#throwErrnoPathIf"><span class="hs-identifier hs-var">throwErrnoPathIf</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-453"></span><span>
</span><span id="line-454"></span><span class="hs-comment">-- | as 'throwErrnoIfMinus1_', but exceptions include the given path when</span><span>
</span><span id="line-455"></span><span class="hs-comment">--   appropriate.</span><span>
</span><span id="line-456"></span><span class="hs-comment">--</span><span>
</span><span id="line-457"></span><span id="local-6989586621679544214"><span class="annot"><a href="Foreign.C.Error.html#throwErrnoPathIfMinus1_"><span class="hs-identifier hs-type">throwErrnoPathIfMinus1_</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="../../ghc-prim/src/GHC.Classes.html#Eq"><span class="hs-identifier hs-type">Eq</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544214"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Num.html#Num"><span class="hs-identifier hs-type">Num</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544214"><span class="hs-identifier hs-type">a</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=&gt;</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.html#FilePath"><span class="hs-identifier hs-type">FilePath</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="#local-6989586621679544214"><span class="hs-identifier hs-type">a</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span></span><span>
</span><span id="line-458"></span><span id="throwErrnoPathIfMinus1_"><span class="annot"><span class="annottext">throwErrnoPathIfMinus1_ :: forall a. (Eq a, Num a) =&gt; String -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoPathIfMinus1_"><span class="hs-identifier hs-var hs-var">throwErrnoPathIfMinus1_</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO ()
forall a. (a -&gt; Bool) -&gt; String -&gt; String -&gt; IO a -&gt; IO ()
</span><a href="Foreign.C.Error.html#throwErrnoPathIf_"><span class="hs-identifier hs-var">throwErrnoPathIf_</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">a -&gt; a -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="hs-glyph">-</span><span class="annot"><span class="annottext">a
</span><span class="hs-number">1</span></span><span class="hs-special">)</span><span>
</span><span id="line-459"></span><span>
</span><span id="line-460"></span><span class="hs-comment">-- conversion of an &quot;errno&quot; value into IO error</span><span>
</span><span id="line-461"></span><span class="hs-comment">-- --------------------------------------------</span><span>
</span><span id="line-462"></span><span>
</span><span id="line-463"></span><span class="hs-comment">-- | Construct an 'IOError' based on the given 'Errno' value.</span><span>
</span><span id="line-464"></span><span class="hs-comment">-- The optional information can be used to improve the accuracy of</span><span>
</span><span id="line-465"></span><span class="hs-comment">-- error messages.</span><span>
</span><span id="line-466"></span><span class="hs-comment">--</span><span>
</span><span id="line-467"></span><span class="annot"><a href="Foreign.C.Error.html#errnoToIOError"><span class="hs-identifier hs-type">errnoToIOError</span></a></span><span>  </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span>       </span><span class="hs-comment">-- ^ the location where the error occurred</span><span>
</span><span id="line-468"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span>        </span><span class="hs-comment">-- ^ the error number</span><span>
</span><span id="line-469"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.IO.Handle.Types.html#Handle"><span class="hs-identifier hs-type">Handle</span></a></span><span> </span><span class="hs-comment">-- ^ optional handle associated with the error</span><span>
</span><span id="line-470"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Maybe.html#Maybe"><span class="hs-identifier hs-type">Maybe</span></a></span><span> </span><span class="annot"><a href="GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span><span> </span><span class="hs-comment">-- ^ optional filename associated with the error</span><span>
</span><span id="line-471"></span><span>                </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.IO.Exception.html#IOError"><span class="hs-identifier hs-type">IOError</span></a></span><span>
</span><span id="line-472"></span><span id="errnoToIOError"><span class="annot"><span class="annottext">errnoToIOError :: String -&gt; Errno -&gt; Maybe Handle -&gt; Maybe String -&gt; IOError
</span><a href="Foreign.C.Error.html#errnoToIOError"><span class="hs-identifier hs-var hs-var">errnoToIOError</span></a></span></span><span> </span><span id="local-6989586621679543809"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543809"><span class="hs-identifier hs-var">loc</span></a></span></span><span> </span><span id="local-6989586621679543808"><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span></span><span> </span><span id="local-6989586621679543807"><span class="annot"><span class="annottext">Maybe Handle
</span><a href="#local-6989586621679543807"><span class="hs-identifier hs-var">maybeHdl</span></a></span></span><span> </span><span id="local-6989586621679543806"><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679543806"><span class="hs-identifier hs-var">maybeName</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IO IOError -&gt; IOError
forall a. IO a -&gt; a
</span><a href="GHC.IO.Unsafe.html#unsafePerformIO"><span class="hs-identifier hs-var">unsafePerformIO</span></a></span><span> </span><span class="annot"><span class="annottext">(IO IOError -&gt; IOError) -&gt; IO IOError -&gt; IOError
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-473"></span><span>    </span><span id="local-6989586621679543804"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543804"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="annot"><span class="annottext">Errno -&gt; IO (Ptr CChar)
</span><a href="Foreign.C.Error.html#strerror"><span class="hs-identifier hs-var">strerror</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">IO (Ptr CChar) -&gt; (Ptr CChar -&gt; IO String) -&gt; IO String
forall (m :: * -&gt; *) a b. Monad m =&gt; m a -&gt; (a -&gt; m b) -&gt; m b
</span><a href="GHC.Base.html#%3E%3E%3D"><span class="hs-operator hs-var">&gt;&gt;=</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr CChar -&gt; IO String
</span><a href="Foreign.C.String.html#peekCString"><span class="hs-identifier hs-var">peekCString</span></a></span><span>
</span><span id="line-474"></span><span>    </span><span class="annot"><span class="annottext">IOError -&gt; IO IOError
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Maybe Handle
-&gt; IOErrorType
-&gt; String
-&gt; String
-&gt; Maybe CInt
-&gt; Maybe String
-&gt; IOError
</span><a href="GHC.IO.Exception.html#IOError"><span class="hs-identifier hs-var">IOError</span></a></span><span> </span><span class="annot"><span class="annottext">Maybe Handle
</span><a href="#local-6989586621679543807"><span class="hs-identifier hs-var">maybeHdl</span></a></span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="#local-6989586621679543800"><span class="hs-identifier hs-var">errType</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543809"><span class="hs-identifier hs-var">loc</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621679543804"><span class="hs-identifier hs-var">str</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">CInt -&gt; Maybe CInt
forall a. a -&gt; Maybe a
</span><a href="GHC.Maybe.html#Just"><span class="hs-identifier hs-var">Just</span></a></span><span> </span><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543799"><span class="hs-identifier hs-var">errno'</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe String
</span><a href="#local-6989586621679543806"><span class="hs-identifier hs-var">maybeName</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-475"></span><span>    </span><span class="hs-keyword">where</span><span>
</span><span id="line-476"></span><span>    </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span> </span><span id="local-6989586621679543799"><span class="annot"><span class="annottext">CInt
</span><a href="#local-6989586621679543799"><span class="hs-identifier hs-var">errno'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span>
</span><span id="line-477"></span><span>    </span><span id="local-6989586621679543800"><span class="annot"><span class="annottext">errType :: IOErrorType
</span><a href="#local-6989586621679543800"><span class="hs-identifier hs-var hs-var">errType</span></a></span></span><span>
</span><span id="line-478"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eOK"><span class="hs-identifier hs-var">eOK</span></a></span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-479"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#e2BIG"><span class="hs-identifier hs-var">e2BIG</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-480"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eACCES"><span class="hs-identifier hs-var">eACCES</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#PermissionDenied"><span class="hs-identifier hs-var">PermissionDenied</span></a></span><span>
</span><span id="line-481"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eADDRINUSE"><span class="hs-identifier hs-var">eADDRINUSE</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceBusy"><span class="hs-identifier hs-var">ResourceBusy</span></a></span><span>
</span><span id="line-482"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eADDRNOTAVAIL"><span class="hs-identifier hs-var">eADDRNOTAVAIL</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-483"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eADV"><span class="hs-identifier hs-var">eADV</span></a></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-484"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eAFNOSUPPORT"><span class="hs-identifier hs-var">eAFNOSUPPORT</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-485"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eAGAIN"><span class="hs-identifier hs-var">eAGAIN</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-486"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eALREADY"><span class="hs-identifier hs-var">eALREADY</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#AlreadyExists"><span class="hs-identifier hs-var">AlreadyExists</span></a></span><span>
</span><span id="line-487"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eBADF"><span class="hs-identifier hs-var">eBADF</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-488"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eBADMSG"><span class="hs-identifier hs-var">eBADMSG</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InappropriateType"><span class="hs-identifier hs-var">InappropriateType</span></a></span><span>
</span><span id="line-489"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eBADRPC"><span class="hs-identifier hs-var">eBADRPC</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-490"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eBUSY"><span class="hs-identifier hs-var">eBUSY</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceBusy"><span class="hs-identifier hs-var">ResourceBusy</span></a></span><span>
</span><span id="line-491"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eCHILD"><span class="hs-identifier hs-var">eCHILD</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-492"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eCOMM"><span class="hs-identifier hs-var">eCOMM</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-493"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eCONNABORTED"><span class="hs-identifier hs-var">eCONNABORTED</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-494"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eCONNREFUSED"><span class="hs-identifier hs-var">eCONNREFUSED</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-495"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eCONNRESET"><span class="hs-identifier hs-var">eCONNRESET</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-496"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eDEADLK"><span class="hs-identifier hs-var">eDEADLK</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceBusy"><span class="hs-identifier hs-var">ResourceBusy</span></a></span><span>
</span><span id="line-497"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eDESTADDRREQ"><span class="hs-identifier hs-var">eDESTADDRREQ</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-498"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eDIRTY"><span class="hs-identifier hs-var">eDIRTY</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsatisfiedConstraints"><span class="hs-identifier hs-var">UnsatisfiedConstraints</span></a></span><span>
</span><span id="line-499"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eDOM"><span class="hs-identifier hs-var">eDOM</span></a></span><span>            </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-500"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eDQUOT"><span class="hs-identifier hs-var">eDQUOT</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#PermissionDenied"><span class="hs-identifier hs-var">PermissionDenied</span></a></span><span>
</span><span id="line-501"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eEXIST"><span class="hs-identifier hs-var">eEXIST</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#AlreadyExists"><span class="hs-identifier hs-var">AlreadyExists</span></a></span><span>
</span><span id="line-502"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eFAULT"><span class="hs-identifier hs-var">eFAULT</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-503"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eFBIG"><span class="hs-identifier hs-var">eFBIG</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#PermissionDenied"><span class="hs-identifier hs-var">PermissionDenied</span></a></span><span>
</span><span id="line-504"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eFTYPE"><span class="hs-identifier hs-var">eFTYPE</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InappropriateType"><span class="hs-identifier hs-var">InappropriateType</span></a></span><span>
</span><span id="line-505"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eHOSTDOWN"><span class="hs-identifier hs-var">eHOSTDOWN</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-506"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eHOSTUNREACH"><span class="hs-identifier hs-var">eHOSTUNREACH</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-507"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eIDRM"><span class="hs-identifier hs-var">eIDRM</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-508"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eILSEQ"><span class="hs-identifier hs-var">eILSEQ</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-509"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eINPROGRESS"><span class="hs-identifier hs-var">eINPROGRESS</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#AlreadyExists"><span class="hs-identifier hs-var">AlreadyExists</span></a></span><span>
</span><span id="line-510"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eINTR"><span class="hs-identifier hs-var">eINTR</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#Interrupted"><span class="hs-identifier hs-var">Interrupted</span></a></span><span>
</span><span id="line-511"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eINVAL"><span class="hs-identifier hs-var">eINVAL</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-512"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eIO"><span class="hs-identifier hs-var">eIO</span></a></span><span>             </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#HardwareFault"><span class="hs-identifier hs-var">HardwareFault</span></a></span><span>
</span><span id="line-513"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eISCONN"><span class="hs-identifier hs-var">eISCONN</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#AlreadyExists"><span class="hs-identifier hs-var">AlreadyExists</span></a></span><span>
</span><span id="line-514"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eISDIR"><span class="hs-identifier hs-var">eISDIR</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InappropriateType"><span class="hs-identifier hs-var">InappropriateType</span></a></span><span>
</span><span id="line-515"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eLOOP"><span class="hs-identifier hs-var">eLOOP</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-516"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eMFILE"><span class="hs-identifier hs-var">eMFILE</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-517"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eMLINK"><span class="hs-identifier hs-var">eMLINK</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-518"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eMSGSIZE"><span class="hs-identifier hs-var">eMSGSIZE</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-519"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eMULTIHOP"><span class="hs-identifier hs-var">eMULTIHOP</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-520"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNAMETOOLONG"><span class="hs-identifier hs-var">eNAMETOOLONG</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-521"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNETDOWN"><span class="hs-identifier hs-var">eNETDOWN</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-522"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNETRESET"><span class="hs-identifier hs-var">eNETRESET</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-523"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNETUNREACH"><span class="hs-identifier hs-var">eNETUNREACH</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-524"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNFILE"><span class="hs-identifier hs-var">eNFILE</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-525"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOBUFS"><span class="hs-identifier hs-var">eNOBUFS</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-526"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNODATA"><span class="hs-identifier hs-var">eNODATA</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-527"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNODEV"><span class="hs-identifier hs-var">eNODEV</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-528"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOENT"><span class="hs-identifier hs-var">eNOENT</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-529"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOEXEC"><span class="hs-identifier hs-var">eNOEXEC</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-530"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOLCK"><span class="hs-identifier hs-var">eNOLCK</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-531"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOLINK"><span class="hs-identifier hs-var">eNOLINK</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-532"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOMEM"><span class="hs-identifier hs-var">eNOMEM</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-533"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOMSG"><span class="hs-identifier hs-var">eNOMSG</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-534"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNONET"><span class="hs-identifier hs-var">eNONET</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-535"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOPROTOOPT"><span class="hs-identifier hs-var">eNOPROTOOPT</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-536"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOSPC"><span class="hs-identifier hs-var">eNOSPC</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-537"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOSR"><span class="hs-identifier hs-var">eNOSR</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-538"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOSTR"><span class="hs-identifier hs-var">eNOSTR</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-539"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOSYS"><span class="hs-identifier hs-var">eNOSYS</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-540"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOTBLK"><span class="hs-identifier hs-var">eNOTBLK</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-541"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOTCONN"><span class="hs-identifier hs-var">eNOTCONN</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-542"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOTDIR"><span class="hs-identifier hs-var">eNOTDIR</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InappropriateType"><span class="hs-identifier hs-var">InappropriateType</span></a></span><span>
</span><span id="line-543"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOTEMPTY"><span class="hs-identifier hs-var">eNOTEMPTY</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsatisfiedConstraints"><span class="hs-identifier hs-var">UnsatisfiedConstraints</span></a></span><span>
</span><span id="line-544"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOTSOCK"><span class="hs-identifier hs-var">eNOTSOCK</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#InvalidArgument"><span class="hs-identifier hs-var">InvalidArgument</span></a></span><span>
</span><span id="line-545"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNOTTY"><span class="hs-identifier hs-var">eNOTTY</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#IllegalOperation"><span class="hs-identifier hs-var">IllegalOperation</span></a></span><span>
</span><span id="line-546"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eNXIO"><span class="hs-identifier hs-var">eNXIO</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-547"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eOPNOTSUPP"><span class="hs-identifier hs-var">eOPNOTSUPP</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-548"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePERM"><span class="hs-identifier hs-var">ePERM</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#PermissionDenied"><span class="hs-identifier hs-var">PermissionDenied</span></a></span><span>
</span><span id="line-549"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePFNOSUPPORT"><span class="hs-identifier hs-var">ePFNOSUPPORT</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-550"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePIPE"><span class="hs-identifier hs-var">ePIPE</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-551"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROCLIM"><span class="hs-identifier hs-var">ePROCLIM</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#PermissionDenied"><span class="hs-identifier hs-var">PermissionDenied</span></a></span><span>
</span><span id="line-552"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROCUNAVAIL"><span class="hs-identifier hs-var">ePROCUNAVAIL</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-553"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROGMISMATCH"><span class="hs-identifier hs-var">ePROGMISMATCH</span></a></span><span>   </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ProtocolError"><span class="hs-identifier hs-var">ProtocolError</span></a></span><span>
</span><span id="line-554"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROGUNAVAIL"><span class="hs-identifier hs-var">ePROGUNAVAIL</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-555"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROTO"><span class="hs-identifier hs-var">ePROTO</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ProtocolError"><span class="hs-identifier hs-var">ProtocolError</span></a></span><span>
</span><span id="line-556"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROTONOSUPPORT"><span class="hs-identifier hs-var">ePROTONOSUPPORT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ProtocolError"><span class="hs-identifier hs-var">ProtocolError</span></a></span><span>
</span><span id="line-557"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#ePROTOTYPE"><span class="hs-identifier hs-var">ePROTOTYPE</span></a></span><span>      </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ProtocolError"><span class="hs-identifier hs-var">ProtocolError</span></a></span><span>
</span><span id="line-558"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eRANGE"><span class="hs-identifier hs-var">eRANGE</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-559"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eREMCHG"><span class="hs-identifier hs-var">eREMCHG</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-560"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eREMOTE"><span class="hs-identifier hs-var">eREMOTE</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#IllegalOperation"><span class="hs-identifier hs-var">IllegalOperation</span></a></span><span>
</span><span id="line-561"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eROFS"><span class="hs-identifier hs-var">eROFS</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#PermissionDenied"><span class="hs-identifier hs-var">PermissionDenied</span></a></span><span>
</span><span id="line-562"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eRPCMISMATCH"><span class="hs-identifier hs-var">eRPCMISMATCH</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ProtocolError"><span class="hs-identifier hs-var">ProtocolError</span></a></span><span>
</span><span id="line-563"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eRREMOTE"><span class="hs-identifier hs-var">eRREMOTE</span></a></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#IllegalOperation"><span class="hs-identifier hs-var">IllegalOperation</span></a></span><span>
</span><span id="line-564"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eSHUTDOWN"><span class="hs-identifier hs-var">eSHUTDOWN</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#IllegalOperation"><span class="hs-identifier hs-var">IllegalOperation</span></a></span><span>
</span><span id="line-565"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eSOCKTNOSUPPORT"><span class="hs-identifier hs-var">eSOCKTNOSUPPORT</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-566"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eSPIPE"><span class="hs-identifier hs-var">eSPIPE</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-567"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eSRCH"><span class="hs-identifier hs-var">eSRCH</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#NoSuchThing"><span class="hs-identifier hs-var">NoSuchThing</span></a></span><span>
</span><span id="line-568"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eSRMNT"><span class="hs-identifier hs-var">eSRMNT</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsatisfiedConstraints"><span class="hs-identifier hs-var">UnsatisfiedConstraints</span></a></span><span>
</span><span id="line-569"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eSTALE"><span class="hs-identifier hs-var">eSTALE</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceVanished"><span class="hs-identifier hs-var">ResourceVanished</span></a></span><span>
</span><span id="line-570"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eTIME"><span class="hs-identifier hs-var">eTIME</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#TimeExpired"><span class="hs-identifier hs-var">TimeExpired</span></a></span><span>
</span><span id="line-571"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eTIMEDOUT"><span class="hs-identifier hs-var">eTIMEDOUT</span></a></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#TimeExpired"><span class="hs-identifier hs-var">TimeExpired</span></a></span><span>
</span><span id="line-572"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eTOOMANYREFS"><span class="hs-identifier hs-var">eTOOMANYREFS</span></a></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-573"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eTXTBSY"><span class="hs-identifier hs-var">eTXTBSY</span></a></span><span>         </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceBusy"><span class="hs-identifier hs-var">ResourceBusy</span></a></span><span>
</span><span id="line-574"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eUSERS"><span class="hs-identifier hs-var">eUSERS</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#ResourceExhausted"><span class="hs-identifier hs-var">ResourceExhausted</span></a></span><span>
</span><span id="line-575"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eWOULDBLOCK"><span class="hs-identifier hs-var">eWOULDBLOCK</span></a></span><span>     </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-576"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="#local-6989586621679543808"><span class="hs-identifier hs-var">errno</span></a></span><span> </span><span class="annot"><span class="annottext">Errno -&gt; Errno -&gt; Bool
forall a. Eq a =&gt; a -&gt; a -&gt; Bool
</span><a href="../../ghc-prim/src/GHC.Classes.html#%3D%3D"><span class="hs-operator hs-var">==</span></a></span><span> </span><span class="annot"><span class="annottext">Errno
</span><a href="Foreign.C.Error.html#eXDEV"><span class="hs-identifier hs-var">eXDEV</span></a></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#UnsupportedOperation"><span class="hs-identifier hs-var">UnsupportedOperation</span></a></span><span>
</span><span id="line-577"></span><span>        </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>                </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">IOErrorType
</span><a href="GHC.IO.Exception.html#OtherError"><span class="hs-identifier hs-var">OtherError</span></a></span><span>
</span><span id="line-578"></span><span>
</span><span id="line-579"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;string.h&quot;</span></span><span> </span><span id="strerror"><span class="annot"><a href="Foreign.C.Error.html#strerror"><span class="hs-identifier hs-var">strerror</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="Foreign.C.Error.html#Errno"><span class="hs-identifier hs-type">Errno</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="Foreign.C.Types.html#CChar"><span class="hs-identifier hs-type">CChar</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-580"></span><span>
</span><span id="line-581"></span></pre></body></html>